上一页 1 ··· 30 31 32 33 34 35 36 37 38 ··· 70 下一页
摘要: 一 C++1 基本数据类型大小(short,long,double)2 模板(可选)3 指针和引用4 标准库:各种容器的区别和应用场合(性能考虑)5 MFC消息处理方式,简单的按钮使用二 DX1 固定管线渲染流程2 资源使用方式(USAGE,POOL,LOCK)3 VS,PS,HLSL4 纹理采样和寻址方式5 多重纹理混合方式6dds的使用7 .x文件格式三 OGRE1 场景管理方式2 渲染到纹理3 接触时间4 例子是否熟悉四 计算机图形学1矩阵,欧拉角,四元数2 简单的碰撞,相机判断五游戏经验1 实际游戏开发时间,以及做的内容2 水面种类和原理3 地形的种类和简单的实现方式4 阴影的种类以及 阅读全文
posted @ 2011-05-09 15:11 oayx 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 关于DDS文件格式的说明作者:Chinafish http://www.csinx.org/IBlog/trackback.asp?tbID=8&action=addtb&tbKey=c851389d61912cf4adee43dca993b1f2b09a33e5DDS文件格式要追述到S3(Silicon & Software Systems)公司提出的一种纹理压缩格式S3TC(S3 Texture Compression), 其目的是通过对纹理的压缩, 以达到节约系统带宽并提高效能的目的. S3TC就是通过压缩方式, 利用有限的纹理缓存空间来存储更多的纹理, 因为它支 阅读全文
posted @ 2011-04-27 19:37 oayx 阅读(10066) 评论(0) 推荐(0) 编辑
摘要: 1.每帧评估周围MapArea的可见度,对即将可见的区域送入预加载线程逻辑,对必须可见的区域送入即时加载模块.2.必须加载2*2,进入3/4距离处开始预加载,退出1距离处卸载,保证最大加载量为3*3.a.DX是有多线程支持,OpenGL渲染RC与线程相关,跨线程加载使用图形资源,如何解决?b.遇到更复杂的逻辑时,如何处理.c.是否要预加载全部,还是分Terrain,Model,Wmo加载.But it is just a design question. 阅读全文
posted @ 2011-04-20 11:04 oayx 阅读(689) 评论(0) 推荐(0) 编辑
摘要: 今天想通一个问题,如何异步地加载3D资源,进而实现整个地图块的后台异步加载机制,进而实现无缝大地图加载.3D资源(纹理,顶点缓冲等)的加载分两个阶段,首先是数据加载,而后是根据读入的内存进行3D资源构造.发现,IO操作的耗时远比3D资源构造多得多,3D资源构造,如glTexImage,glBufferData,Lock,Unlock速度相对还是很快的,而如果把整个加载放入一个线程导致跨线程3D资源的构造和使用上的问题.理论上在一个线程创建的3D资源不能在另一个线程内使用(如OpenGL),即使可以做到(如DirectX的CREATE_MULTITHREADED),也会出现很多需要同步的3D资源 阅读全文
posted @ 2011-04-20 10:47 oayx 阅读(1028) 评论(0) 推荐(0) 编辑
摘要: 1.镜头不对: 物体不在镜头范围内,检查视图矩阵,世界矩阵,投影矩阵.2.颜色全黑: 打开光照情况下,MATERIAL全为0, 或,在没有打开光照情况下,颜色值为0,造成全黑.检查当前Material和顶点颜色和纹理颜色.3.深度不对: 被已有的深度遮住了.检查当前深度,直接在此渲染前加Clear深度为1.0作测试.4.CullMode设置不对: 所有三角形被当作背面剔除了,设为CULL_NONE测试. 5.3D物件的纹理坐标统统大于1.0,且此时纹理寻址方式为BORDER, 且BORDER被设为黑色,画面全黑.6.深度被Clear为0.0,且打开深度测试,绝对什么都画不上,上述3的特例.7. 阅读全文
posted @ 2011-04-20 09:08 oayx 阅读(1449) 评论(0) 推荐(0) 编辑
摘要: 低级编程错误的根由是粗心造成的,而这里所谓高级编程错误源自各版本驱动程序的Bug和一些不合理的API接口,此类错误通常令人吐血,出现一个都要耗费数小时甚至数天来解决,这是个实际经验累计的过程,痛苦而又必要.1.要求D3DXCreateTexture创建D3DFMT_A8R8G8B8格式纹理,在某些显卡(MX4000,Intel82815,FX5200)的某些驱动程序环境下,会意外地返回D3DFMT_A4R4G4B4,导致程序写内存错误,系统崩溃,蓝屏报告显卡驱动程序DLL错误,文字呈现白色方块等一系列错误现象.切记,不能相信D3DXCreateTexture.2.表象上,单句g_D3DDevi 阅读全文
posted @ 2011-04-20 08:52 oayx 阅读(1319) 评论(0) 推荐(1) 编辑
摘要: 原则1.以目前计算机的发展阶段而言, 游戏总是CPU Limited.2.渲染 Batch, Batch, Batch3.尽力减少图形API调用次数.4.Minimize data swithing, such as SetStreamSource and SetIndices. Maximize FVF sharing. 认识:1.DX API消耗Top5: SetPixelShaderConstant()SetPixeShader()SetVertexShaderConstant()SetVertexShader()SetTexture()经验:1. 过大过多的纹理造成带宽瓶颈,而顶点数据 阅读全文
posted @ 2011-04-19 17:36 oayx 阅读(2177) 评论(0) 推荐(0) 编辑
摘要: 另外给出一份dx sdk中关于常用dx api的performace性能参数,在文档中也有明确说明,这些api的调用开销会根据实际情况有不同。 API Call Average number of Cycles SetVertexDeclaration 6500 - 11250 SetFVF 6400 - 11200 SetVertexShader 3000 - 12100 SetPixelShader 6300 - 7000 SPECULARENABLE 1900 - 11200 SetRenderTarget 6000 - 6250 SetPixelShaderConstant (1 Co 阅读全文
posted @ 2011-04-19 17:28 oayx 阅读(1275) 评论(0) 推荐(0) 编辑
摘要: 1.树叶/动物嘴上的牙齿,胡须/身上的鬃毛,形状曲折复杂,若直接用三角形带构建会大大增加物体的三角形数,所以应使用少量的三角形加Alpha纹理来实现.过滤了Alpha的纹理可以描绘出曲折的形状边缘.2.怪物眼睛发光,那是用了额外附着的不透明的纹理三角片,很可能还是billboard.3.该GL_CULL_FACE的地方应该Cull Face,以提升效率.4.BLEND_MODULATE_2X使盔甲呈现高亮, BLEND_ADDITIVE_ALPHA增加加物体细节.5.WoW的登录界面就是个m2 + xml + lua,一个模型搞定一个界面. 6.在3D空间中画一个中间镂空的平面边形(由三角形M 阅读全文
posted @ 2011-04-19 16:01 oayx 阅读(1129) 评论(0) 推荐(0) 编辑
摘要: 要带着引擎系统所共有的问题去阅读,不要被具体引擎的实现思路牵着走,要思考这个引擎如何实现或绕过(如不考虑低端机)这些必然要面临的问题.首先,最重要的必须,在Debug模式下调试起来一个主场景程序,然后沿着代码流走几遍,在代码里闲逛,生成第一印象,留意基础工具设施类(如字符串内存管理),大约3小时.然后带着如下每一个问题(不分先后)去走流程,走逻辑,弄清引擎的业务处理方法.1.SetStreamSource,SetIndices,DrawIndexedPrimitive的调用是在哪里(哪个cpp哪个类的哪个函数),整个工程有几个DrawIndexedPrimitve,DrawPrimitveUp 阅读全文
posted @ 2011-04-19 15:55 oayx 阅读(443) 评论(0) 推荐(0) 编辑
上一页 1 ··· 30 31 32 33 34 35 36 37 38 ··· 70 下一页