My Chinese name: 王文优↑, you can play with it.

Wenyou Wang

personal email:

I am a second-year master student at the University of Utah, currently working with Professor Cem Yuksel. I am interested in reproducing natural phenomena in a physically-based way. My philosophy is that nature is the best artist, so simulating nature is the best way of artistic creation. To be honest, I don't like mathmatical tools for their abstractness. But when they are used to represent natural phenomena, instead I feel they are attractive.
Hence, I'm now focusing on physically-based simulation and physically-based rendering. It's hard to tell which one I prefer. Although both of them have their own unique principles, they have a lot common ideas for simulating the nature which I appresicate. For example, the constitutive equation is just as beautiful as the rendering equation from my perspective. I believe I will continuely working on these two areas even if I choose one as my primary direction.
In my spare time, I enjoy working out, playing console games(my favorite now: Star Wars Battlefront II), reading, post rock music.
Last update: 2021/2/18


MS in Computing, Graphics Track, Aug.2019 ~ Apr.2021(expected), University of Utah, Overall GPA 4.00/4.00

B.Sc., Computer Science, Sep.2015 ~ June.2019, Zhejiang University of Technology, Overall GPA 84.6/100


Realtime/Offline Globol Illumination (VPL, ReSTIR), Aug.2020 ~ present, Advisor: Cem Yuksel


Volumetric Path tracer

This is my final project for CS6620(Ray Tracing - Graphics) .

There are some artifacts in the ceiling acutally caused by volumetric path tracing. I didn't have enough time handling this bug then, since I only had one weekend to extend my path tracer into a volumetric path tracer. I remember Prof. Yoksel wished us to spend more time on the scene building instead of advanced features, but I ingored the warning since rendering volumes was really funny (¬‿¬) . My references include Pbrt-v3 and Production Volume Rendering.

Code will be released later. Original code is really badly structred and needs to be cleaned and reorganized.

PCI-SPH simuator with particle fluid rendering in screen space

    This is my final project for both CS6610(Interactive Comp Graph) and CS6660(Physics-based Animation). The particle fluid renderer is for CS6610 and the SPH fluid simulator is for CS6660.

Code will be released later. Original code is really badly structred and needs to be cleaned and reorganized.

2D Flip simulator

    This is a very basic flip simulator for the purpose of learning.

Code on Github 2D-Flip-simulator.
Actually, there are a lot of work could be done to make this simulator better. Limited by time, I would like to put off these plans.
To do list:
1.Extend the simulator to 3D.
2.Add levelset methods so that simulating smoke will be supported. Add a MacCormack method solver for advecting smoke. Implement a kind of reinitialization solver for levelset.
3.Add vorticity confinement or other post-processing techniques.
4.Coupling dynamic rigid bodies.
5.Add openVDB support.

2D rigid body engine, cloth simulation and deformable objects(coming soon)

I am recently writing a 2D rigid body simulator based on the sequential impulse method. The basic framework has already been finished.

simple physics engine

I plan to explore these topics in the new year just because I wanna build a solid foundation for taking a job or doing research about physically-based simulation. I am also reading materials about the other two topics. More specifically, I am reading ARCSim's code and Dynamic Deformables: Implementation and Production Practicalities. The former is a very good project for starters learning cloth simulation, the latter is best course notes I've ever read.