https://gserena01.github.io/hw02-raymarching-sdfs/
Project.0_.Getting.Started._.CIS.566.-.Google.Chrome.2021-10-13.20-58-05_Trim.mp4
Source Image:
- uses signed distance functions to model a mug, a pair of scissors, and the ground plane
- SDFs are combined using smooth blending and smooth subtraction operations
- features several different colors of materials
- Lambertian shading is applied to all materials
- soft shadows are cast by SDF primitives
- Scissors and objects are animated by moving their local origins according to time modified by Bias and Gain functions, for smoother, non-linear motion.
- Features three different lights: one to cast shadows, one to provide ambient light, and one to serve as a fill light
- Rendering optimized to allow for smoother animation by limiting how long rays can extend during ray-marching and only checking for scene geometry (during ray-marching and shadow-marching) within a bounding box
- https://github.com/dmnsgn/glsl-rotate for rotation matrices used to rotate primitives
- http://demofox.org/biasgain.html for bias and gain functions used to transition during animation
- https://www.iquilezles.org/www/articles/distfunctions/distfunctions.htm for sdf functions to create, smooth blend, and transform primitives
- https://www.iquilezles.org/www/articles/rmshadows/rmshadows.htm for soft shadows
Homework.2_.Raymarching.SDFs._.CIS.566.-.Google.Chrome.2021-10-06.20-56-16.mp4
Pinocchio Scene: Issue caused by allowing the bounding box to cast shadows on the scene