书法字典:https://www.shufadict.com

随笔分类 -  图形学

绕任意轴旋转
摘要:绕坐标轴旋转关于最常见的绕坐标轴旋转,可以看看前一篇-几何变换详解。绕任意轴旋转绕任意轴旋转的情况比较复杂,主要分为两种情况,一种是平行于坐标轴的,一种是不平行于坐标轴的,对于平行于坐标轴的,我们首先将旋转轴平移至与坐标轴重合,然后进行旋转,最后再平移回去。将旋转轴平移至与坐标轴重合,对应平移操作旋转,对应操作步骤1的逆过程,对应操作 整个过程就是对于不平行于坐标轴的,可按如下方法处理。(该方法实际上涵盖了上面的情况)将旋转轴平移至原点将旋转轴旋转至YOZ平面将旋转轴旋转至于Z轴重合绕Z轴旋转θ度执行步骤3的逆过程执行步骤2的逆过程执行步骤1的逆过程假设用v1(a1, b2, c2)和v2(a 阅读全文

posted @ 2012-08-10 09:20 翰墨小生 阅读(93446) 评论(32) 推荐(9) 编辑

矩阵-DirectX与OpenGL的不同
摘要:矩阵是三维图形学中不可或缺的部分,几乎所有和变换相关的操作都涉及矩阵,世界变换,视图变换,投影变换,视口变换无一不需要矩阵,但是当今的两大主流图形库DirectX和OpenGL对矩阵操作却有着细微的差别,大多数的图形学书籍都以OpenGL为基础进行阐述,游戏编程类的书籍则更多使用DirectX,这就难免产生混淆,今天这篇主要讲讲两者在操作矩阵的时候有何不同。矩阵在三维图形学中,一般使用四维矩阵,也就是四行四列的方阵,下面是一个典型的四维矩阵既然是三维图形学,为什么使用四维矩阵呢?主要有两个原因,第一,为了平移变换,第二,为了区别点和向量。行向量与列向量对于一个四维向量,它是行向量还是列向量呢? 阅读全文

posted @ 2012-08-02 09:19 翰墨小生 阅读(16056) 评论(19) 推荐(13) 编辑

射线和三角形的相交检测(ray triangle intersection test)
摘要:本文以Fast, Minimum Storage Ray Triangle Intersection为参考,在此感谢原作者,大家也可以直接阅读原版。概述射线和三角形的相交检测是游戏程序设计中一个常见的问题,最典型的应用就是拾取(Picking),本文介绍一个最常见的方法,这个方法也是DirectX中采用的方法,该方法速度快,而且存储空间少。先讲述理论,然后给出对应的代码实现。 理论部分一个直观的方法我想大多数人在看到这个问题时,可能都会想到一个简单而直观的方法:首先判断射线是否与三角形所在的平面相交,如果相交,再判断交点是否在三角形内。判断射线是否与平面相交判断点是否在三角形内但是,上面的方法 阅读全文

posted @ 2010-08-09 13:41 翰墨小生 阅读(33985) 评论(32) 推荐(8) 编辑

声音走样
摘要:用DirectSound播放声音时发生声音走样,和MediaPlayer播放的效果完全不同,搞了半天,发现原来是声音的采样频率不同所致// insert picture再查看了声音文件的属性以后,应该正确的填充WAVEFORMATEX结构,只有这样才能正确的播放声音文件WAVEFORMATEX wfx; // Set up WAV format structure. memset(&wfx... 阅读全文

posted @ 2010-05-03 22:33 翰墨小生 阅读(492) 评论(0) 推荐(0) 编辑

PAK file format
摘要:pak  以.pak结尾的文件是pak Quake系列游戏所采用的一种特殊压缩包格式,由Quake游戏公司开发,一般用户无法打开。  简单来说pak是一种少见的压缩文件格式;可以将多个文件压缩成一个文件,例如RAR将多个文件压缩成1个RAR文件。现在好多游戏的客户端都采用这种特殊的压缩包格式,以利于游戏的开发。由于是针对于游戏的设计和使用而采用的文件结构,所以与一般的压缩文件格式有所不同,它的特点... 阅读全文

posted @ 2010-03-05 10:42 翰墨小生 阅读(1125) 评论(0) 推荐(0) 编辑

ScreenToVector详解
摘要:如果您正在学习ArcBall技术或者您对于屏幕坐标到三维坐标的转换有些模糊,那么一定不要错过本篇。ScreenToVector函数是微软DXUT框架中AcrBall类中的一个函数,它的作用是完成二维屏幕坐标到三维球坐标的转换,先看一下函数定义代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1D3DXVECTOR3CD3DArcBall::ScreenToVector(floatfScreenPtX,floatfScreenPtY)2{3/ 阅读全文

posted @ 2009-11-28 23:28 翰墨小生 阅读(4404) 评论(10) 推荐(2) 编辑

使用D3DXCreateSphere绘图的步骤
摘要:DX内置的绘制几何图形的函数D3DX中有几个现成的函数可以绘制常见的3D模型D3DXCreateBox D3DXCreateSphereD3DXCreateCylinder //圆柱D3DXCreateTeapot D3DXCreatePolygonD3DXCreateTorus //圆环体,类似于面包圈这些函数有三个参数是一样的,它们分别是 1. 第一个参数 LPDIRECT3DDEVICE9 ... 阅读全文

posted @ 2009-10-27 10:38 翰墨小生 阅读(5159) 评论(0) 推荐(1) 编辑

DirectX视口变换矩阵详解
摘要:视口变换在投影变换之后,视口变换的作用是将投影平面上的点转换为屏幕上的点,这是一个缩放的过程。投影变换的作用是将viewing frustum(视景体)中的场景投影到一个平面上,这个平面就是投影平面,在DirectX中,使用近剪裁平面作为投影平面(z=1),关于透视投影的矩阵求解,请参考透视投影详解视口变换则是将这个cuboid中的物体变换到视口中,见下图。其中cuboid的坐标范围是而viewport的坐标范围是注:由上图知,视口的起点为(X, Y),宽高分别为Width和Height,x轴向右为正,y轴向下为正,y轴的方向与三维坐标正好相反。视口是一个2D平面,但是在viewport变换中 阅读全文

posted @ 2009-10-13 21:17 翰墨小生 阅读(8485) 评论(10) 推荐(1) 编辑

Z-buffer
摘要:The Z BufferThe Z buffer (also known as a depth buffer) records the depth of a pixel when it is rendered. Because the final transform applied to our geometry takes the data from 3D view space into the... 阅读全文

posted @ 2009-09-02 23:12 翰墨小生 阅读(1525) 评论(0) 推荐(0) 编辑

Right Hemisphere - A Visual Product Company
摘要:Right HemisphereRight Hemisphere is the leading provider of enterprise product communication and collaboration solutions enabling manufacturers to optimize their global product development launch and ... 阅读全文

posted @ 2009-07-02 16:11 翰墨小生 阅读(455) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
书法字典:https://www.shufadict.com
点击右上角即可分享
微信分享提示