My interests lie in
computer graphics, including but not limited to real-time
rendering,
character animation, and virtual reality. Previously, I completed two graphics internships at Adobe
Research
and Activision Central Tech.
We give a method to simulate the volumetric shape of hand's musculoskeletal organs to any pose in
the hand's
range of
motion, producing external hand shapes and internal organ shapes that match ground truth optical
scans and
medical
images (MRI) in multiple scanned poses.
Worked on hand motion capture.
For my 2022 summer internship at Activision Central Tech, I explore various hand motion
capture
technology used in game production. In particular, I research on capturing and solving
realistic
hand motions
with
sparse marker configurations.
Game credits: Call of Duty: MWII - Modern Warfare II (2022).
Worked on interactive photo-realistic rendering.For my 2021 summer
internship at Adobe Research, I improved the rendering capabilities of a geometry
processing library, Lagrange, by
integrating a path tracer into its UI module, in which researchers
prototype their ideas and
algorithms.
Ben-Day dots was a technique developed in the late 19th century to print colors onto
newspapers. Given an input image, this program simulates the physical process of printing and
produces a
similar effect in screen space.
Prime Engine Development
Jan. 2021 - May. 2021
code
Prime
Engine is a low-level game engine made by Artjoms Kovalovs, in which
I
expanded and implemented a couple
of systems (animation, physics) and rendering effects (reflection, toon shading).
CPU Ray Tracer
Apr. 2020
A ray tracer capable of rendering opaque surface (triangles and
spheres)
with lighting, shadows, and
reflections. Anti-aliasing and soft shadows were implemented to improve the image quality. BVH and
OpenMP were utilized to improve the performance. Toon shading is for fun.
Given a character skeleton and its skinning weights. This program can animate the skin mesh
through forward kinematics (FK) and inverse kinematics (IK).
Motion Capture Data Interpolation
Mar. 2021
code
/
report
My implementation and evaluation of different interpolation schemes (linear vs. Bezier)
to interpolate human mocap data with different representations (Euler angles vs. Quaternions).
Jell-O is a physically-based simulation of a jello cube inside a cornell-box
force field. It's modeled with a mass-spring system, capable of handling collisions, and rendered
with
OpenGL.
To Infinity is a roller coaster simulation implemented with OpenGL and shaders. The track
was
based on splines and
the player will "ride" the coaster on it.
The environment
was inspired by Andy's room from Toy Story .
Detour Bus is a VR game where players build ridiculous winding highways around themselves
to
take the
dysfunctional Flowers family on a road trip across Post-Infrastructure
America.
Kingdom of Nature
Jan. 2020 - May 2020 | Unreal Engine 4 | Engineer
website
/
trailer
/
build
Kingdom of Nature is a VR archery game for the Oculus Rift where the players will immerse
themselves
in a rich fantasy world. Different
encounters and people will expose the player to the importance of protecting the environment .
Some lovely people have been asking me advice on finding a graphics internship, so here is my
two cents:
Do a lot of graphics projects. It could be course assignments, Siggraph papers that you
want to implement from scratch, or involvement in open-source projects. What really important is
that you improve your skills along the way and have something to show off to the recruiters. If it
is a course assignment, go the extra mile as recruiters have seen tons of these types of course
projects.
Set up job alerts. In graphics, the most important skill is C++, but depending on the job you want to apply for,
you may need to learn extra things like OpenGL, GPU
programming, USD, Objective-C, or
various DCCs
like Maya, Blender, Houdini, and
RenderMan. I suggest
you set up job alerts on LinkedIn or your
dream companies; look at the requirements of those specific roles, and start to include those
skill sets while you are planning your next project.
Make a portfolio website. You can start building your portfolio while you're doing those
projects. It needs to be well-organized and attractive. Recruiters and interviewers like to see
something visually, not just words on your resume. For each project, you could showcase WIP,
bloopers, various results, etc. in an appealing way. In addition, you should organize your code
for each project and put them into Github. Once you have a portfolio, you can look into the S3
program to have people in the industry review it for you so that you can keep
polishing it.
Take advantage of the resources in your program. Take one or all of the graphics
professor's courses in your school, find your interests and perform well. It may lead to
opportunities as a teaching assistant or a research assistant with the professor, both are
valuable experiences! Also consider joining the Siggraph chapter at your school if there is one.
Connect with people in the industry. You should consider volunteering for the Siggraph
conference if you could find the time. It provides an awesome opportunity for you to see the most
advanced research and technology in graphics (free of charge). You will meet a lot of like-minded
people and it's very possible they will become your connections for your next job.
Don't give up. Unfortunately, it's very likely that you will get rejected from your dream
company for the first time, or the second time, or the third time... But try to learn from the
past, improve your skills and keep applying. You will thank yourself later for not giving up.
Feel free to email me if you want to chat. Best of luck :D
This website template is adapted from Dr. Jon
Barron.