位置: 编程技术 - 正文
推荐整理分享shader之旅-7-平面阴影(planar shadow)(shader cull),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:shader教程,shader入门教程,shader?,shaderlad,shader教程,shader入门教程,shader基础,shader入门教程,内容如对您有帮助,希望把文章链接给更多的朋友!
根据《real-time shadow》这本书第二章中的推导,实现了最简单的阴影技术。
planar shadow通过一个投影矩阵将被灯光照射的物体的顶点沿着光线方向投影到接受阴影的平面。
关键的问题是这个投影矩阵怎么得到。
阴影所在平面用下式表示:其中n是法线,d是常量,x是平面上的点。
灯光和被投影的顶点所在的直线用下式来表示:,其中l是光源的位置,v是被投影的顶点,t是系数。
推导过程:
所以最终得到投影到平面上的顶点坐标写成齐次坐标的形式为:
写成矩阵的形式就是
为了在代码中实现,我新加了两个类,分别是Mesh和Program,因为在析构时涉及到删除OpenGL内部的资源的问题,所以如果不处理好拷贝构造和拷贝赋就会出现问题,所以在没想过好的处理方案之前把他俩都实现成了无法复制的类。
代码已经更新
OpenGL三角形的双面不同颜色的绘制 对于一个三角形,我要给它正反面不同的颜色。然后通过旋转,看出它的效果。我只想到了2种方法,下面我来写一下这两种方法。第一种方法,通过角
5.2光源 在OpenGL中,仅仅支持有限数量的光源。使用GL_LIGHT0表示第0号光源,GL_LIGHT1表示第1号光源,依次类推.OpenGL至少会支持8个光源,即GL_LIGHT0到GL_LIGHT7。使用g
OpenGL二十面体及多次细分成球体 绘制一个规则的二十面体,通过多边形近模拟法来构建表面。在绘制前,我们需要初始化一些数据:#defineX.//使原点到每个顶点的距离均为
标签: shader cull
本文链接地址:https://www.jiuchutong.com/biancheng/369453.html 转载请保留说明!友情链接: 武汉网站建设