‘阅读学习’ 分类的存档
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?
原帖 :http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!860.entry
翻译 :http://shiba.hpe.cn/jiaoyanzu/WULI/soft/xna.aspx?classId=4
chm下载地址:http://shiba.hpe.cn/jiaoyanzu/WULI/soft/Hlsl/HLSL.chm
1. 首先,推荐一本非常好的书 《GPU编程与 CG语言之阳春白雪下里巴人》
GPU Programming And Cg Language Primer 1rd Edition
本站下载地址:http://3.1415926.info/fileupload/GPU-Programming-AndCgLanguage-Primer.pdf
2. 碰撞检测算法:
用vs2008写shader的时候没有语法高亮,虽然可以吧关键字写入文本放到vs目录下,如果不想写,cg目录下有这个文件,可以直接复制过去,有人做了一个插件NShader非常方便
1.先看效果
2. 网站
http://nshader.codeplex.com/
3.本站下载地址
http://3.1415926.info/fileupload/NShader.rar
1. 安装3dsMax9.0 , Visual Studio 2005
2. 打开Visual Studio加入SDK的 lib, include目录
3. 找到[ SDK 目录] \howto\3dsmaxPluginWizard
用记事本打开3dsmaxPluginWizard.vsz
找到一行,修改为Param=”ABSOLUTE_PATH = D:\DEV\3dsMax9SDK\howto\3dsmaxPluginWizard”
红色的部分为当前目录
4. 复制3dsmaxPluginWizard.ico, 3dsmaxPluginWizard.vsdir,3dsmaxPluginWizard.vsz
到Microsoft Visual Studio 8.0\VC\vcprojects 目录下
Real-Time Cameras: A Guide for Game Designers and Developers
Author: Mark Haigh-Hutchinson
Download pdf :http://rapidshare.com/files/273159781/realtimecameras.rar [本站取消下载链接]
amazon: http://www.amazon.co.uk/Real-Time-Cameras-Developers-Interactive-Technology/dp/0123116341
问题:一个人有两个小孩儿,其中有一个生于星期二的男孩儿。问另一个是男孩儿的概率是多少?
两个孩子出生于哪天,以及他们是男是女原本是两个独立事件。如果把星期几+性别作为一种组合的话,则每一个孩子一共有7*2=14种可能性,每种可能性的概率是平等的,即,如果我们只看其中一个孩子的话,那么这个孩子恰好是星期二出生的男孩的可能性是1/14,周二男在前的时候有十四种可能;周二男在后的时候有十四种可能,这其中有一种可能重复算了两次,即周二男+周二男同时属于两种,因此需要刨去这种可能。
那么,其中另一个是男孩的可能性呢?应该是7+6=13种。因为所有的27种可能性都是等概率出现的,因此,当确定其中一个孩子是周二出生的男孩,另一个孩子恰好也是男孩的概率应该是 13/27。
假如13/27只是另一个孩子是男孩且不是周二出生的的概率。
换一种方式想,根据原来的思路,其实条件中的“周二”换成“周一”,“周三”等,都不影响原来的结果。也就是说,如果其中一个是出生于周一的男孩,那另一个是男孩的概率也是13/27,如果其中一个是出生于周三的男孩,那另一个是男孩的概率也是13/27,依此类推。。。。 这样的话就能得到结论:其中一个无论是出身在周几,另一个是男孩的概率都是13/27,于是。。。
