We set up the framework of this application based on framework codes of previous projects, and rendered real time scenes in a fragment shader. (Credit: Kasra)
We supported geometric primitives and operations (twist, union, etc.) on them, all in the new representation of signed distance functions. (Credit: Yuxi, Grace)
We supported normal estimation and camera moving (keyboard controlled). (Credit: Kasra)
We supported blinn-phong lightning. (Credit: Yuxi)
We supported soft shadows in distance fields. (Credit: Grace)
A two-triangle scene rendered by our desktop app, with manipulated geometries, blinn-phong lighting, and soft shadow
Reflection on current progress
We are slightly ahead of the schedule of the baseline plan, but are slow on the aspirational plan.
What went unanticipated is how hard it is to support more advanced functions like soft shadow/ambient occlusion/bump mapping in the shader.
Updated plan
In the final week, instead of only polish things as planned, we are going to continue to do some substantial work.
Concretely, we are going to:
Support ambient occlusion.
Support bump mapping.
Create at least 2 artistic scenes: one image scene on the desktop app to show off our nice desktop app, one video scene on shadertoy that exploits some fancy functions of shadertoy.