学习前提
- 学会了我方《OpenGL入门》、《OpenGL进阶》和《OpenGLShader》课程,或者具备同等水平的OpenGL编程人员
讲课方式比较
《OpenGL进阶》:我们来实现漫反射计算,通过n和l的夹角来计算漫反射的强度,为什么能通过n和l来确定这个强度呢?是因为...
《案例课程》:我们这里实现漫反射计算,然后再来实现镜面发射,最终颜色就等于漫反射+镜面反射
案例课程属于高级课程,OpenGL相关的知识我们认为是共识,如果这些东西细讲,则案例课程会非常冗长。如果不具备相当水平的同学请不要购买
注意事项
- glm库请使用课程随堂源码中的
内容介绍
实际上在我们的shader中,我们简单的提到过,如何去做卡通渲染,只不过我们没有做刻画,所以看起来可能没有案例课程这么精致。
实现思路
- 计算出dotLN,也就是最原始的漫反射强度
- 如果漫反射强度大于某个阈值,那么就为最终颜色赋值颜色1
- 根据被渲染的点与边框的关系,如果判断是在边框区域,则为最终颜色赋值为颜色2的边框
- 如果镜面反射的强度大于某个阈值,那么就为最终颜色赋值为镜面反射的颜色3
- 以上条件都不成立则为最终颜色赋值为颜色4