Previous | Next --- Slide 76 of 78
Back to Lecture Thumbnails
kencheng

How does one extend this for reflections? It seems you need access to all other primitive's BRDF, which seems expensive for a shader program.

kbeache

Ya does reflection correspond to ks? If it was perfect reflection would the last line be gl_FragColor = vec4(ks * in_light, 1.0); ?

connorbrinton

Some ridiculously complex shaders can actually be extremely useful. For example, the GameCube/Wii emulator Dolphin avoids slow shader translation and compilation steps in its emulation pipeline by actually interpreting GameCube/Wii shaders within a native shader executed on the graphics card. Some interesting history of the feature and the problems it solves are available here:

https://dolphin-emu.org/blog/2017/07/30/ubershaders/