3D
kraussyin
这个作者很懒,什么都没留下…
展开
-
齐次坐标
问题: 两条平行线会相交铁轨在无限远处相交于一点在欧几里得几何空间里,两条平行线永远都不会相交。但是在投影空间中,如右图中的两条铁轨在地平线处却是会相交的,因为在无限远处它们看起来相交于一点。在欧几里得(或称笛卡尔)空间里描述2D/3D 几何物体是很理想的,但在投影空间里面却并不见得。 我们用 (x, y) 表示笛卡尔空间中的一个 2D 点,而处于无限远处的点 (∞,∞)转载 2012-11-25 13:24:42 · 633 阅读 · 0 评论 -
四元数(Quaterion)
1843年,William Rowan Hamilton发明了四元数,但直到1985年才有一个叫Ken Shoemake的人将四元数引入计算机图形学处理领域。四元数在3D图形学中主要用于旋转,骨骼动画等。简单地来说,四元数描述了一次旋转:绕任意一个轴旋转一个角度。 四元数的定义形式:(w, x, y, z)。假如,绕轴向量v(_x,_y,_z)正向(右手旋转法则)旋转角度p,则对应得四元数原创 2012-11-25 13:30:56 · 1019 阅读 · 0 评论 -
简单的纹理管理器
游戏中的资源一般都是由资源管理器来处理的,资源管理器负责载入,释放,以及根据资源ID返回相关资源供游戏程序使用。下面改写spheregames的纹理管理示例,使用dx9的common框架简单地实现了一个纹理资源管理器,权且贴出来一下。实现功能:纹理管理,log输出,按F4调用打开文件对话框载入纹理。代码下载:点此下载下面贴个截图:转载 2012-11-25 13:31:26 · 618 阅读 · 0 评论 -
The Cg Runtime:OpenGL中调用Cg程序
原文:《The Cg Tutorial》(Cg手册):Appendix B:The Cg Runtime,Page195很多地方可能翻译得不好,还请大家见谅、指教!注意:我省略了其中的Direct3D的部分,因为本人现在正使用OpenGL开发。B.1 什么是Cg Runtime?Cg程序支持运行在GPU上的程序,但是它们需要应用程序的支持才能渲染图像。为了把Cg程序转载 2012-11-27 10:38:19 · 706 阅读 · 0 评论 -
Glut框架示例
有了glut省事不少,不用去管烦琐的窗口创建,消息循环什么的,整了一个glut框架,作为以后demo的框架。 上图: 贴代码:Code //============================================================= // 包含头文件 //===================================转载 2012-11-25 13:22:55 · 743 阅读 · 0 评论 -
平面方程(Plane Equation)
平面方程平面上的一点以及垂直于该平面的法线唯一定义了 3D 空间的一个平面。(图一) 3D 空间的平面 在图一中,给定法线向量 ,以及平面上的一点 P1,对于平面上的任意一点 P ,我们可以在平面上定义一个由 P1 指向 P 的向量: 因为法线 垂直于平面,它必定也垂直于位于平面上的向量 ,因此它们的点积为转载 2012-11-25 13:24:18 · 1407 阅读 · 1 评论