microsoftxiao

记忆 流逝

导航

2006年4月6日 #

粒子(二)[译]

摘要: 绘制粒子系统 因为粒子系统是动态的,我们需要在系统中每帧都更新。直觉上下面的粒子系统给人的效率很低: 创建一个足够大小的顶点缓冲区 在每帧里更新所有的粒子。 复制所有存活的粒子到顶点缓冲 绘制顶点缓冲 这个手动处理,但是不是最有效的。举例来说,在系统中顶点缓冲必须足够大。但是更重要的是在复制所有粒子到顶点缓冲到列表中时图形卡是空闲的。例如,设想我们的系统有10000个粒子;起初我们需要顶点缓冲是1... 阅读全文

posted @ 2006-04-06 12:31 龙巢NET刀 阅读(532) 评论(0) 推荐(0)

粒子系统[翻译]

摘要: 由于要求不高,在实现简单的碰撞检测后就希望自己的场景也有满天雪花了,于是就又译了这个粒子的文章。Particle例子系统 许多自然现象都存在一些小的粒子做一些相似的运动。(例如,下落的雪花,火焰里的火苗,未来战争枪械里的子弹).粒子系统就使用这样的模型。 目标 学习在Direct3D中如何描述一个粒子 设计灵活粒子系统的底层类来包括所有粒子的通用属性。 具体出来粒子系统,命名为雪,爆炸,枪粒子。 ... 阅读全文

posted @ 2006-04-06 10:37 龙巢NET刀 阅读(1575) 评论(0) 推荐(0)

2006年4月4日 #

DirectX93D游戏编程入门之体积范围[译]

摘要: Bounding Volumes - 体积范围 有时我们想计算mesh的体积范围。有了两种通用的使用体积范围的例子是球体和立方体。其他的方法有圆柱体,椭圆体,菱形体和capsules。图 11.4展示了一个Mesh使用球体和同理的立方体的体积范围。这章我们仅仅使用立方体和球体进行体积范围的工作。 体积盒/球是通常使用的显著加速能见程和碰撞测试,在其他物体之间。例如,我们可以说一个体积盒不可见则me... 阅读全文

posted @ 2006-04-04 14:02 龙巢NET刀 阅读(879) 评论(2) 推荐(0)

3D游戏编程大师技巧之碰撞检测

摘要: 前言 我对写前言这件重要的工作感到无比的荣幸,从基础上教会程序员制作下一代3D视频游戏的必要技能。没有很多书教你如何创建一个实时的3D引擎,开始的时候都是绘制像素。从Atari的原始游戏到现在技术已经发展如此遥远,We were really pushing the state of the art then,but they really seem lame now. 回忆起过去,早期的游戏从... 阅读全文

posted @ 2006-04-04 10:55 龙巢NET刀 阅读(4224) 评论(7) 推荐(0)

2006年4月1日 #

摄影机和模型同步移动

摘要: 通过对模型的矩阵求逆可以实现模型和摄影机的同步移动。因为在移动模型时比如向左,就相当于向右移动摄影机,不知道这么说明白否。//移动摄影机 D3DXMatrixInverse(&matInver,NULL,&matMove); D3DXMatrixMultiply(&m_FixView,&m_FixView,&matInver); m_pd3dDevice->SetTransform(D3DT... 阅读全文

posted @ 2006-04-01 01:48 龙巢NET刀 阅读(380) 评论(0) 推荐(0)

2006年3月29日 #

更简化的第一人称视角,矩阵未优化。

摘要: 简化后的部分,实现对鼠标的控制。//设置第一人称视角控制HRESULT CMyD3DApplication::SetFirstView(){ D3DXMATRIX matIdentity; D3DXMatrixIdentity( &matIdentity ); m_pd3dDevice->SetTransform( D3DTS_WORLD, &matIdentity ); /... 阅读全文

posted @ 2006-03-29 15:51 龙巢NET刀 阅读(501) 评论(0) 推荐(0)

2006年3月28日 #

简化的第一人称视角

摘要: 这是更简化的第一人称视角的上下,左右,前后处理。网上都直接用细节化的矩阵变换实现,我翻来覆去的琢磨把我累坏了,后来才明白原来通过简单的矩阵平移 旋转就可以实现对摄影机的第一人称视角,在此共享。//视角矩阵 D3DXMATRIX matView; D3DXMATRIX matMoveView,matMoveOut; D3DXMatrixLookAtLH( &matView, &m_m... 阅读全文

posted @ 2006-03-28 19:33 龙巢NET刀 阅读(237) 评论(0) 推荐(0)

第一人称视角前后左右实现[部分转]

摘要: 使用方法,只要改变 eye和LookAt的X和Z就可以实现前后,左右的移动。HRESULT CMyD3DApplication::SetView(){ //左右移动 D3DXVec3Normalize(&pOut,&ac); RT = D3DXMATRIX(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -m_matA... 阅读全文

posted @ 2006-03-28 12:17 龙巢NET刀 阅读(387) 评论(0) 推荐(0)

2006年3月27日 #

ViewPort视图[转]

摘要: Working with the Viewport - 使用视图工作,视图是一个矩形区域,由于无知我还以为视图可以进行坐标变换呢。但是视图却可以实现类似3DS Max那样的前视,侧视,俯视的效果。 After you have finished the three transformation steps, the device still needs to determine how the ... 阅读全文

posted @ 2006-03-27 21:50 龙巢NET刀 阅读(850) 评论(0) 推荐(0)

投影变换[转]

摘要: 4. 投影变换 一个投影变换类似于选择一个透镜的焦距,它是三种变换中最复杂的一个。 4.1 视锥(Viewing Frustum) 4.2 什么是投影变换? 4.3 设置投影矩阵 4.4 一个“W-Friendly”投影矩阵 4.1 视锥 视锥就是场景中的一个三维空间,它的位置由视口的摄像机来决定。这个空间的形状决定了摄像机空间中的模型将被... 阅读全文

posted @ 2006-03-27 18:26 龙巢NET刀 阅读(4581) 评论(1) 推荐(0)