游戏编程实践
文章平均质量分 58
fannyfish
这个作者很懒,什么都没留下…
展开
-
3dsmax表情动画的导出
基本概念 1,Morpher Modifier 在3dsmax中,使用Morpher Modifier可以改变mesh, patch, NURBS model的形状,同时支持Material morphing,通常用来实现复杂的表情动画。 为Mesh添加Morpher Modifier:选择一个mesh->Modify面板->Modifier Li原创 2006-04-21 14:04:00 · 11671 阅读 · 1 评论 -
GPU上并行处理大规模粒子系统
GPU上并行处理大规模粒子系统 原文:[Latta04] Luta Latta, "Massively Parallel Particle Systems on the GPU Latta," > 2004作者:Lutz Latta本文版权归原作者所有,仅供个人学习使用,请勿转载,勿用于任何商业用途。翻译:fannyfishBlog:http://blog.csdn.net翻译 2006-07-19 15:30:00 · 15889 阅读 · 7 评论 -
改进粒子系统-动态编译Shader
改进粒子系统-动态编译Shader动态决定需要编译的FX代码 请教了几个朋友,最后决定用使用FX支持的宏定义解决这个问题。 根据粒子使用的发射器和效果器定义不同的宏,在FX文件中通过判断相应的宏是否定义(#ifdef…#endif)来决定是否编译某段代码。 FX代码如下: struct VS_INPUT{ float3原创 2006-06-22 23:03:00 · 10174 阅读 · 0 评论 -
改进粒子系统-GPU实现
改进粒子系统-GPU实现作者:fannyfishBlog:http://blog.csdn.net/fannyfishamma@zsws.org介绍 即时粒子系统的性能主要受两个因素制约:填充率(fillrate)、CPU-GPU之间的数据传输。填充率即GPU每帧可以渲染的象素数,当粒子很大并且出现好多粒子重叠在一起的情况时会明显影响性能(比如用粒子模拟大面原创 2006-06-14 23:02:00 · 11326 阅读 · 9 评论 -
调试游戏程序的学问
1.1 调试游戏程序的学问 作者:Steve Rabin, Nintendo of America Inc.<span lang="EN-US" style="FONT-FAMILY: ս̥转载 2006-06-02 15:26:00 · 10364 阅读 · 4 评论 -
变量未初始化
"给变量一个初始值几乎总是正确的,但不要求必须这样做。当我们确定变量在第一次使用时会给变量一个新值,那就不需要创建初始值。例如,在1.2.2小节我们的第一个有意义的程序中,定义了未初始化变量,并立即读取值给它们。定义变量时,应该给变量赋初始值,除非确定将变量用于其他意图之前会覆盖这个初值。如果不能保证读取变量之前重置变量,就应该初始化变量。" -- 引自>今天写程序时遇到了变量未初始化带来的原创 2006-06-02 15:12:00 · 9450 阅读 · 3 评论 -
改进粒子系统-粒子拖尾
改进粒子系统-粒子拖尾最近美术要求粒子可以拖尾,实现类似于《鬼武者》中的吸魂、烟花等效果。大概思路是将粒子经过的路径记录下来,形成一条面向摄像机的三角链。截图:参考:Ogre的BillboardChain, RibbonTrailTODO:1,粒子消失时不自然,应该是粒子等待拖尾消失后再消失。 2,支持设置1D,2D纹理原创 2006-06-05 11:16:00 · 12505 阅读 · 5 评论 -
改进粒子系统-2D Particle
改进粒子系统今天美术提出新需求:用粒子实现界面上某些特效,如点击按钮溅起的火花等. 如果重新实现一套2D粒子系统,不仅要重写相应的编辑工具,而且美术也要花时间熟悉新的概念和工具.由于时间紧,这种做法不合实际.现在唯一的做法是改进原有的3D粒子系统,使其可以渲染2D粒子. 大概思路就是去掉z轴影响,将粒子投影到平面上.将3D粒子系统指定的坐标,换算到2D平面上的坐标.伪代码:原创 2006-05-29 19:52:00 · 9113 阅读 · 0 评论 -
游戏开发相关术语
big endian和little endian big endian和little endian是CPU处理多字节数的不同方式。例如“汉”字的Unicode编码是6C49。那么写到文件里时,究竟是将6C写在前面,还是将49写在前面?如果将6C写在前面,就是big endian。还是将49写在前面,就是little endian。 “endian”这个词出自《格列佛游记》。小人国的原创 2006-05-08 13:57:00 · 9476 阅读 · 1 评论 -
用3DXI导出顶点数据的代码段
for each face.... FaceEx *pFaceEx = pGameMesh->GetFace(faceId); // 得到位置 int vertexId = pFaceEx->vert[faceVertexId]; Point3 vertex; if( pGameMesh->GetVertex(vertexId, vertex) ) pVertexData->m_po原创 2006-04-29 16:25:00 · 7724 阅读 · 0 评论 -
改进粒子系统-状态相关
改进粒子系统-状态相关粒子系统碰撞CPU 只能实现简单的即时碰撞,如球、平面。GPU 还可以处理与高度图、即时生成的depthmap间的复杂碰撞。 1,与平面碰撞: 2,与球体碰撞: 3,与高度图碰撞: 点(面)发射器向下发射的粒子与右下角显示的高度图进行碰撞原创 2006-07-25 21:42:00 · 10370 阅读 · 6 评论