2008年10月26日

GLSL projective texture

摘要: Projective Texture(投影贴图)是一项重要的基础技术;尽管在固定管线时代就可以很容易的实现;然而在可编程管线时代,在shader中灵活的运用Projective Texture,是实现各种高级效果的一项基础操作;当然,它本身的效果也很“cool”;另外,对于已经算不上新鲜技术的“shadow mapping”,Projective Texture是必须的一项操作,就是把光源观察方向... 阅读全文

posted @ 2008-10-26 10:13 cgwolver 阅读(2094) 评论(0) 推荐(0) 编辑

2008年10月24日

color-bleeding map ( 颜色扩散贴图/辉映贴图 )

摘要: Half-Life 2 在Quake2的Lightmap 技术基础上结合了Normap,成为Normapped Radiosity Lighting,也有叫做Bumpped Radiosity Lightmap; Half-Life 2 将Q2的光照技术发挥到了极致,然而还是不能动起来... 我尝试着用Radiosity 实现了Lightmap(没有Normap),并且竭力想让静态的Lig... 阅读全文

posted @ 2008-10-24 12:29 cgwolver 阅读(2487) 评论(0) 推荐(0) 编辑

Screen Space Ambient Occlusion

摘要: computer science.articles.ssao (http://rgba.scenesp.org/iq/computer/articles/ssao/ssao.htm) 老狼 翻译 (QQ:419780024) ssao stands for Screen Space Ambien Occlus... 阅读全文

posted @ 2008-10-24 00:33 cgwolver 阅读(3129) 评论(5) 推荐(0) 编辑

2008年8月5日

平面凸多边形点有序化环绕

摘要: 已知顶点V1...Vn是一组共面的凸多边形顶点,且它们的环绕顺序杂乱无序,求正确的环绕顺序。 步骤: 1.在平面中取任一个方向(可取任意两点连线,如果是2d顶点,可以直接去x轴或者y轴)为方向,找出在这个方向上最靠后的顶点Vz和次靠后的点Vy 2.以VzVy方向作为base dir,取Vz到其他顶点的Vx(Vx为V1...Vn中,除去两个最靠后的点之外的任一点)的距离矢量,与VzVy依次... 阅读全文

posted @ 2008-08-05 10:27 cgwolver 阅读(558) 评论(0) 推荐(0) 编辑

2008年8月1日

快速求出三角形其它两个点的索引

摘要: inline void tri_get_other_vert_index( int i,int& a,int& b ) { static int other_index_1[3] = {1,0,0}; static int other_index_2[3] = {2,2,1}; a = other_index_1[i]; b = other_index_2[... 阅读全文

posted @ 2008-08-01 01:20 cgwolver 阅读(243) 评论(0) 推荐(0) 编辑

2008年7月31日

根据矢量的投影长度求原矢量长度

摘要: 已知矢量a在b上的投影长度为 proj_len,并且知道a和b的方向为an,bn 因为an,bn为单位矢量,所以 an.DotProduct(bn) = |a|*|b|*cos(theta),其中|a| = |b| = 1 解得cos(theta) = an.DotProduct(bn) 矢量a的原长度为 a_len = proj_len/cos(theta) 需要首先判断proj_len是否... 阅读全文

posted @ 2008-07-31 21:21 cgwolver 阅读(614) 评论(0) 推荐(0) 编辑

如何判断一点在三角形内

摘要: 假定在右手坐标系中的三角形3点坐标为A,B,C,判断P是否在ABC之内 ( 主要来自 3D引擎研发QQ群(38224573 )的各位朋友的讨论 ,我仅仅算做个总结吧,特别感谢各位朋友的热情支持。 ) 方法1:三个Perplane的方法 设AB,BC,AC边上的垂直平面为Perplane[3],垂直朝向内侧的法向为n[3] 1)先根据任意两边叉出... 阅读全文

posted @ 2008-07-31 20:57 cgwolver 阅读(10994) 评论(11) 推荐(0) 编辑

导航