学习前提
- 学会了我方《OpenGL入门》、《OpenGL进阶》和《OpenGLShader》课程,或者具备同等水平的OpenGL编程人员
讲课方式比较
《OpenGL进阶》:我们来实现漫反射计算,通过n和l的夹角来计算漫反射的强度,为什么能通过n和l来确定这个强度呢?是因为...
《案例课程》:我们这里实现漫反射计算,然后再来实现镜面发射,最终颜色就等于漫反射+镜面反射
案例课程属于高级课程,OpenGL相关的知识我们认为是共识,如果这些东西细讲,则案例课程会非常冗长。如果不具备相当水平的同学请不要购买
注意事项
- glm库请使用课程随堂源码中的
内容介绍
我们在Shader课程中介绍过如何利用深度图去做阴影渲染,但那只是其中一种方法,我们碰到了硬边,我们使用PCF这样的方式去处理。在阴影柔边的课程里,我们介绍一种不用深度图的一种纯 几何学方法做出来的阴影,且阴影可以参数化,你可以控制阴影边缘的柔软程度。
如果需要看效果的话,建议下载东汉书院Windows或者Mac客户端,就可以看到实际运行效果。
实现思路
- 建立更复杂的光照数学模型
- 根据光线从阴影区到无阴影区过渡的相对位置计算出阴影的量
- 处理入射光线与指向遮挡物的射线垂直时候的情况
- 处理当光源离受光面的距离比受光面到遮挡物的距离更小的时候的情况
- 将最终的阴影影响因子与成色进行混合