摘要: depth peeling是一种利用shadow mapping来模拟depth test的技术,利用它,可以实现order-independent transparency和woo shadow mapping等需要逐层剥离深度的特效。 下面是一个depth peeling demo,用4pass剥离了4层,效果不错,效率也很“惊人”。:D 需要硬件支持如下扩展: GL_AR... 阅读全文
posted @ 2005-02-23 21:20 Pointer 阅读(6372) 评论(4) 推荐(1)
摘要: per-pixel lighting + light mapping + shadow mapping 构成光照系统。 需要硬件支持如下扩展: GL_ARB_multitexture, GL_ARB_shader_objects, GL_ARB_vertex_shader, GL_ARB_vertex_program, GL_ARB_fragment_shader, GL_A... 阅读全文
posted @ 2005-02-11 17:16 Pointer 阅读(3208) 评论(8) 推荐(0)
摘要: 解决了project texture后,shadow mapping就比较容易了。 对于基于ogl的shadow mapping,基本上有如下几种做法: 1 采用GL_ARB_depth_texture, GL_ARB_shadow扩展。Pass1中以光源为视点渲染场景到帧缓存,然后将深度部分copy到depth texture;Pass2中以眼睛为视点,将depth texture投影到... 阅读全文
posted @ 2005-02-07 23:36 Pointer 阅读(943) 评论(0) 推荐(0)
摘要: 原文见:http://www.cnblogs.com/Pointer/archive/2004/12/20/79323.html 最近通过学习固定渲染管线的光栅化过程,终于明白了扭曲的原因。 我们先设V=投影变换前的顶点,V'=投影变换后的齐次顶点。 在屏幕空间中,V的各项属性并不是线性分布的,但1/Vz是线性分布的,对于其它的顶点属性Vb/Vz也是线性分布的(《Mathematics... 阅读全文
posted @ 2005-01-12 12:25 Pointer 阅读(3854) 评论(8) 推荐(0)
摘要: 搁置了很久的一个Demo。为了庆祝博客园计算机图形学团队的成立、纪念2004年的最后一天就把它翻出来吧。 把下面三个包解压到同一个文件夹内运行。 http://downloads.cnblogs.com/CGTeam/Member/Pointer/dlls.rar http://downloads.cnblogs.com/CGTeam/Member/Pointer/model.rar... 阅读全文
posted @ 2004-12-31 21:51 Pointer 阅读(2674) 评论(11) 推荐(0)
摘要: 多谢tomb4的指点,发现原来AutoTexCoordGen中最根本的一点被我理解错了。 Object Linear模式并不是在Object Space中以默认投影点做Projective,Eye Linear模式也并非是在Eye Space中以默认投影点做Projective,这是最关键的一点。基于这一点的理解错误,对于Eye Linear模式的TexGen和Object Linear模式的... 阅读全文
posted @ 2004-12-30 16:04 Pointer 阅读(1982) 评论(1) 推荐(0)
摘要: 根据RedBook的解释,在自动纹理坐标生成中,GL_OBJECT_LINEAR模式不需要使用模型视图矩阵,GL_EYE_LINEAR模式需要使用模型视图矩阵。那么我们可以做一系列试验验证上述结论: 1 使用GL_EYE_LINEAR模式生成纹理坐标。设置模型视图矩阵与投影矩阵,让OGL用固定渲染管线进行坐标变换。 试验结果:程序结果正常,纹理坐标同眼坐标相关,随眼坐标的变化而变化。 2 使用... 阅读全文
posted @ 2004-12-24 10:28 Pointer 阅读(988) 评论(3) 推荐(0)
摘要: 多谢CSDN上happy__888([顾问团]寻开心)的热心指点,明白了法向量的矩阵变换方式和顶点的矩阵变换方式是不同的。以前确实是没有注意过这个问题。 心蓝兄有一篇文章介绍了这一点:http://xreal.51.net/Game/NormalMatrix.htm 推导过程见上文,最后的结论是: 假设矩阵M为顶点Vo的模型视图变换矩阵,No为顶点Vo的法线。Ve为进行过模型视图变换后的眼... 阅读全文
posted @ 2004-12-24 09:41 Pointer 阅读(673) 评论(0) 推荐(0)
摘要: RedBook里关于使用GL_EYE_LINEAR模式自动生成纹理坐标的原理也看不明白了。 是眼坐标系中的顶点坐标,也就是经过了模型视图变换后的顶点坐标吧。 M-1是模型视图矩阵的逆矩阵。 generated coordinate = p1' xe + p2' ye + p3' ze + p4' we where (p1' p2' p3' p4') = (p1 p2 p3 p4)M-1... 阅读全文
posted @ 2004-12-23 14:43 Pointer 阅读(544) 评论(0) 推荐(0)
摘要: 仔细查阅了一下RedBook上关于自动纹理坐标生成的说明: The GL_OBJECT_LINEAR function calculates the texture coordinates in the model's coordinate system. In Example 9-3 , where the contour lines are perpendicular to the... 阅读全文
posted @ 2004-12-20 15:35 Pointer 阅读(742) 评论(0) 推荐(0)