转载自:http://blog.csdn.net/rat9912345/archive/2009/10/29/4744521.aspx
1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory
工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。 阅读全文…
alpha
在颜色红、绿、兰(R、G、B)之后添加的第4个颜色值,用于提供对象颜色的透明度。当它的值为0.0时,就意味着完全透明,为1.0时表示不透明。 阅读全文…
1,Direct3D11渲染管线:
DirectX 11的很多提升意味着更高的特性性能,而这些特性很少能在DX10中看到。DirectX 11和DirectX 10两者最大的不同之处在于管线,可以说DirectX 11的渲染管线标志着绘图硬件以及软件功能革命性一步。DirectX 11加入了对Tessellation(镶嵌)的支持。Tessellation 由外壳着色器(Hull Shader)、镶嵌单元(tessellator)以及域着色器(DomainShader)组成。同时还加入了计算着色器(Compute Shader),计算着色器与DX10中引入的GS不同,它并不是渲染管线的一部分,CS也是DirectX 11的重要改进之一,可以很大程度上协助开发人员弥补现实与虚幻之间的差别。 阅读全文…
[转自]http://www.cnitblog.com/linghuye/archive/2009/11/29/62870.html
要带着引擎系统的问题去阅读,不要被具体引擎的思路牵着走,要思考这个引擎如何实现或避开这些问题.
首先,最重要的必须,在Debug模式下调试起来一个主场景程序,然后沿着代码流走几遍,在代码里闲逛,生成第一印象,留意基础工具设施类(如字符串内存管理),大约3小时.
然后带着如下每一个问题(不分先后)去流程,走逻辑,弄清他的业务处理方法.
1.纹理资源是如何管理的?句柄,ID,指针? 模型顶点资源是如何管理的? 渲染实例数据如何管理? 纯3D资源如Shader是如何管理?
2.场景管理是怎样搭建的,如何区分实例节点数据和资源数据?镜头是如何被各模块访问的?剔除不可见物件的代码行在哪里?兼容各种算法吗,使用了具体的算法是什么?场景管理模块是否提供清晰的功能定义接口?
3.骨骼动画是在哪里计算的,具体到顶点乘以矩阵是在哪个cpp的哪个代码行里?Socket实现在哪里?如果有高级动画系统,骨架在哪里,有什么功能?动作融合的矩阵间过渡代码在哪一行?
4.异步数据加载是怎样做的,在哪个cpp里,由哪个模块管理?各个资源的加载读取cpp在哪里?
5.SetStreamSource,SetIndices,DrawIndexedPrimitive调用是在哪里,整个工程有几个DrawIndexedPrimitve,DrawPrimitveUp,DrawXXX.
6.渲染管线如何为ShadowMap提供深度图,如何为CubeMap,水面反射提供场景RenderTarget?如何管理固定流水线状态RasterState的?
7.材质管理系统是如何运作的,如何并入管线的,如何从理论上保证实现各式各样的效果的,如何兼容固定和可编程流水线的?管线里是否有后期效果,还是用材质表达出来?
8.特效如粒子系统到最后是使用哪个DrawXXX画出来的,粒子系统是动态公式计算还是帧动画?
9.界面2D Texture Draw是如何被支持的?文字渲染是如何被支持的,字体资源如何被管理?是否使用Freetype?




