My photo Valid XHTML 1.1

Self Introduction

Shan-Yung Yang is now a game programmer in Rayark Inc. He is mainly involved in Cytus and Mandora development.


  • Game programmer, Rayark Inc.
    (September 2011 - )
  • Game programmer, Hypaa Inc.
    (July 2010 - September 2011)
  • Research assistant, Department of Information Management, National Taiwan University
    (August 2009 - July 2010)
  • Engineer, Institution for Information Industry
    (January 2009 - July 2009)
  • Enlisted for compulsory military service
    (September 2007 - August 2008)
  • M.S., Department of Computer Science and Information Engineering, National Taiwan University
    (September 2005 - June 2007)
  • B.S., Department of Computer Science and Information Engineering, National Taiwan University
    (September 2001 - June 2005)
  • Taichung First Senior High School
    (September 1998 - June 2001)

Research Interest

  • Interactive cinematic relighting
  • Global illumination

Master Thesis

Glossy Direct-to-Indirect Transfer for Relighting


In computer cinematography and animation, the process of lighting design is both time consuming and labor intensive. Lighting artists need an interactive tool which gives fast preview without losing too much quality compared with the final result.

In this thesis, we present a relighting system which solves the problem faced by lighting artists. By caching shading parameters in deep framebuffer and rendering with graphics hardware acceleration, our system gives convincible lighting preview interactively. Our system also captures specular reflections by layered deep framebuffer.

Global illumination for relighting system is also emphasized in this thesis. We propose a new approach based on transferring indirect illumination from gather samples. Our main contribution is extending the light transport path to glossy inter-reflections by BRDF factorization.

» Thesis    » Slides


  • matter
    Matter is an image processing program for digital matting. It implements GrabCut so users can quickly generate a trimap for Bayesian Matting.
  • libgil2
    Libgil2 is a C++ library for image I/O. It provides a generic class template to store images and can read/write various image formats including BMP, JPG, PNG, TIFF, PPM, PFM, OpenEXR and HDR. It supports multiple platforms such as Microsoft Windows (using VC-7.1, VC-8.0, VC-9.0, GCC-3.4 or GCC-4.4), FreeBSD and Linux.
  • snoop
    Snoop is a screen magnifier running on the X window system. It is useful when debugging graphics programs.

Teaching Assistant


  • Programming language: C++, C#, Java, Lua, Perl, OpenGL Shading Language
  • Linux system administration


  • First-person shooting games, especially in WW2 such as Medal of Honar and Call of Duty.
  • Japanese animation and games
  • Japanese light novels
Last update: Thu, 04 May 2017 18:50:13 +0800