Hsuan-Yueh Peng 彭宣粵

Graduate Student
Department of Computer Science
University of Southern California

hsuanyup [at] usc.edu

About me

    My name is pronounced like 'Sh-oo-en Y-uu-eh Pong', hope this can solve many people's potential doubt. I am now a second-year graduate student in Computer Science Department at University of Southern California, specializing in Multimedia and Creative Technologies.

    As you may have noticed, I am graduating in May 2014. Since the graduation is around the corner, I keep looking if there is any position I can fit in in graphics area. I love graphics and have a passion for rendering techniques, especially in developing a fast, robust, and physically correct renderer.

    With the knowledge gained from school, I develop several side projects, featuring Ray Tracing, Path Tracing with GPU technology. Further, I also have an Android 3D Live Wallpaper on Google Play Store, which has reached thousands of downloads now. I keep updating my side projects for the purpose of motivating myself in the path of learning.

    Besides my side projects, my coursework has assisted me to gain diverse knowledge in the fields of graphics by targeting the goals of academic projects. I have developed a high-leveled multiplayer racing shooting game with Unity3D, fulfilled Color Harmonization for images and designed an algorithm for automatic Video Ads Remover.

    Though pursuing me academic goal in the United States, I actually grew up in Hsinchu, Taiwan. I received my Bachelor's degree from the department of Computer Science and Information Engineering at National Taiwan University in 2011. Since 2010, I worked with Prof. Ming Ouhyoung and joined the Communications and Multimedia Laboratory in CS dep., NTU. During the last year of my undergraduate study, I chose "Basic Match Move Realization" as my special project subject which enlightens my research interests in computer graphics, computer vision and multimedia.

    After serving in Air Force in Taiwan for one year, now, I am on my way toward the Master's degree in the department of Computer Science, University of Southern California. In my leisure time, I love skateboarding, playing tennis, swimming, reading and watching movies.

Resume/Curriculum Vitae »pdf


    University of Southern California, Los Angeles, CA (Aug 2012 - present)
    Degree: Master of Science

    National Taiwan University, Taipei, Taiwan(Sep 2007 - Jun 2011)
    Degree: Bachelor of Science

Work Experience

    Grader, Computer Animation and Simulation(course)(Spring 2014 - present)

    Research Programmer, ICT, USC(Winter 2013)

    Product Management System Designer, LianShi Gas Co., Taiwan(Jul 2009 - Jan 2010)

Side/Academic Projects »details

     Point Rendering in CUDA Path Tracer (Winter 2013)
         A novel technique for point rendering in a CUDA path tracer for efficient visualization before final rendering.

     Android Live Wallpaper - FlipYoWall (present)
         An self-developed Android OpenGL|ES 2.0 Live Wallpaper now on Google Play Store

     Efficient Volume Rendering in CUDA Path Tracer (Fall 2013)
         Rendered models as cloud in terms of color compositing in efficient Octree traversal


Research Experience

    Flow-based View Interpolation for Wide Angle Automultiscopic 3D display
        Graphics Lab, ICT, USC (Winter 2013)

    Basic Match Move Realization
         Undergraduate Research, Communications and Multimedia Laboratory, National Taiwan University (Jun 2010 - Jun 2011)
         Advisor: Prof. Ming Ouhyoung
         Used color segmentation and relative disparity between images to realize high-quality video view interpolation using a layered representation.


»detailed resume in PDF

Academic/Self Projects »details of my projects

Recent Projects

Point Rendering in CUDA Path Tracer, Side Project, Winter 2013

A novel technique for point rendering in a CUDA path tracer is introduced in this proposal. The approach makes it possible to render point represented geometries with global illumination effects. Octree data structure is combined in order for more efficient intersection determination. Furthermore, Octree enables the users/artists to choose the level of details of the rendered results to achieve the sketch of the image before final rendering. The proposed approach also allows the rendered points to be visualized with depth and occlusion sense, providing more accurate 3D point positions for users to design before rendering.

Our efforts are put on the intersections between a tracing ray and points detected by the adapted Octree implementation and its traversal method. When ray-point intersection happens, we decide whether or not the point in the Octree node should be rendered.

Results with different levels of details (Octree resolutions respectively), rendering iterations and adjustable point radius are shown.

For details of the project, please click here.

Point Stanford dragon rendered with 100 iterations only.

FlipYoWall - Android OpengGL|ES 2.0 App, Side Project, Oct. 2013 - present

FlipYoWall is my self project as an instance of Android Live Wallpaper.

This self-developed Android OpenGL|ES 2.0 Live Wallpaper is featuring the interaction between the user and the virtual skateboard in client devices. Virtual 3D immersion is enhanced by features, such as touching, zooming in/out, magnetometer, and accelerometer feedbacks. High-level shading technique, sky cubemap, varying multiple textures are also applied on 3D models and the scene.

FliYoWall is now on GooglePlay store!
Just click the link to download and enjoy it!    

Efficient Volume Rendering in CUDA Path Tracer, USC, Fall 2013

Stanford bunny rendered as cloud, 5,000 iterations

Octree Visualization(only leaf nodes)

This is a project cooperated with Kristopher Wong, Kaleb Williams. We adopt a compact Octree data structure as the representation of models in scenes and integrate it into our CUDA path tracer for efficient volume rendering. The exploitation of dedicated graphics hardware is shown and the results are realistic and visually appealing.

Our efforts are put on the implementation of a compact model representation in Octree with an efficient parametric algorithm for tree traversal. With the proposed Octree combined into our CUDA path tracer, the volume rendering by each ray per thread is made possible for average Nvidia graphics cards. Our rendering algorithm extends the classic ray tracing process into path tracing with light transport in participating media, which gathers light energy in a physically based manner. Finally, the global illumination examples and comparisons of cloud like models are shown.

For details of the project, please click here.

Stanford dragon rendered as cloud, 1,000 iterations

GPU(CUDA) Path Tracer, Side Project, Summer 2013

Glossy/Glass/Mirror, 25,000 iterations

Based on ray tracing algorithm, path tracing provides us with more accurate physically based rendering results, such as caustics, color bleeding, soft shadow, depth of field, motion blur, or even global illumination. This path tracer, using Monte Carlo method with poisson disk sampling technique, renders high quality images by shooting rays iteratively bouncing in the scene.

With the help of modern GPUs, the speed of path tracing process is hugely increased. This path tracer is built on CUDA GPU language and is, further, fastened by implementing string compaction on ray parallelization. It also supports supersampled anti-aliasing, motion blur, Fresnel refraction, depth of field and interactive camera. For more about the path tracer/rendered results, please click here.

Left default image: Global illumination of glossy, mirror and glossy spheres rendered in 15,000 iterations with Monte Carlo method. (Click the image to enlarge)

Global illumination of mixed(default), glossy blue and white, glossy red and green, motion blur, depth of field spheres with Monte Carlo method. (from left to right)

Global illumination of mirror and glass rendered in 25,000 iterations with Monte Carlo method.


»View Details of My Projects


    Being called "sidewalk surfing" in 1950s, skateboarding has seemly been changing all the time. Though getting on a little bit late, I got the passion (or fever) on skateboarding when I stepped on my first skateboard in my 18. Now, this activity is definitely my favorite sport, providing me with a way of escaping from hustling life, enjoying the air-passing feeling of skating, and having fun in cruising around.

    Despite the shifted name of "sidewalk surfing", the meanings skateboarding brings to me do not really change, or it should be said that skateboarding "teaches" me, more than just brings me a joy ride. For years of skating, the learning process of tricks gives me thoughts and vision on the essence of success from different perspective, which I could never learn on campus or in textbooks.

More about My Skateboarding Life »

(Photo by A Zhu Cai)


    Hsuan-Yueh Peng

    email: hsuanyup [at] usc.edu  Send Mail
    skype: cary.peng782