- 博客(13)
- 收藏
- 关注
原创 dx10 学习随笔(二)
Direct3D 10 的管线状态1、Input-Assembler Stage : 负责给管线提供数据(三角形,线和点)。2、Vertex-Shader Stage: 顶点处理。执行诸如,位置变换、蒙皮、光照等计算。接受一个顶点作为输入,并产生一个相应的顶点作为输出。3、Geometry-Shader Stage: 图元处理。输入是一个完整的图元(三角形图元就是三个顶点、线图元就是两个顶点、点图元就是一个点)。除此之外,每个图元还可以包 含相应的临界图元的信息。GS 还支持有限的图形的放大和缩小
2011-01-28 23:38:00 677
原创 年度总结之九: 玩家的问题
大规模测试即将到来,在这之前,相信所有的图形程序头痛的都是机器配置的测试,我们公司的这些测试都是我来做的,当时给了我两台机器和若干各个级别的显卡。测试下来虽然耗时,但也算顺利,基本达到原定计划。激动人心的时刻终于到了,在测试过程中,最让我神经过敏的无非就是玩家因为配置问题玩不了游戏的情况。现在根据我遇到的情况,总结一个排除问题的步骤:1、根据玩家描述直接能确定的问题。2、先指导玩家到 NV 或 AMD 等显卡厂商官网下载对应的驱动,本人建议有必要在游戏官网给出链接,在玩家提出问题后再回复中根据其显卡型号再提
2011-01-21 21:35:00 430
原创 年终总结之七:烦人的字体
<br />简单的介绍一下字体渲染流程:<br /> <br />1.创建一个管理类,包含一个单链表存储字符信息;2.GDI部分,负责创建字体,并把字体信息拷贝到指定大小的buff;3.读取上述buff中的字体信息,并加以高斯模糊;4.把上一步的结果,渲染到已预先创建的512*512大小的纹理上,并保存纹理坐标到字符信息中;5.实际绘制时根据字符编码读取字符信息,绑定指定的纹理,填充顶点、纹理坐标、颜色,在指定位置渲染。注:字体网格是用TriList组织的,便于合并不同的三角形,减少
2011-01-20 23:35:00 572
原创 年底总结之六:洗心革面终点站,深度优化之君子善假于物
<br />游戏画面很棒,可玩性也不错,但是这时却发现大部分机器跑起来都不到30帧。相信很多公司都遇到过这种尴尬的情景。偶的上家公司很大程度上就是死在性能上。那么既然优化这么重要,为什么不一开始就重视起来呢。哈哈,不是不重视,原因有很多种,下面列举一些:<br /> <br />1、由于进度鸭梨太大,程序们来睡觉的时间都没有,优化见鬼去吧,先把功能实现吧。<br />2、美术与程序的较力,美术经常在不知不觉中添加N个能突出场景画面的粒子特效等程序无法忍受的东东。<br />3、引擎本身的承载鸭梨不够。<br
2011-01-20 23:34:00 749
原创 年度总结之五:洗心革面第二站,PostPocess
<br />这部分比较简单,就是采样,模糊,混合的过程,用到了4个RT,3个shader。<br /> 具体细节不再赘述,关键是最后要提供给美术或策划特定的参数。使得效果更加贴切,更加丰富。
2011-01-20 23:32:00 579
原创 年度总结之四:洗心革面第一站,全可编程管线
<br />缘由:在后续使用的MRT技术中,会输出顶点的深度信息到一个RT上,这个深度信息在PostPocess时会用到,而MRT只能在PS里来实现。这就必须把所有渲染改为可编程管线。<br /> <br /> 注意事项:<br />就是用VS来替代顶点变换,用PS来替代纹理着色及纹理混合(这里的纹理混合指同一个pass的纹理之间的混合)。其实,关键在于搞清楚每个要修改的渲染需要几层纹理,及每层之间是如何混合的,最多再加上光照的处理,弄清楚了整个过程,把固定管线改成shader渲染就很easy
2011-01-20 23:30:00 795
原创 年度总结之三:底层驱动的改写
<br />来公司的第一项工作就是把引擎的图形驱动层由OpenGL改成Direct3D。<br /> <br />整改缘由:<br /> 1. 虽然市面上的大部分显卡都支持OpenGL,但是还是有一部分不支持。<br /> 2. 某些显卡虽然支持OpenGL但是其驱动不支持,目前所知,windows默认的驱动都是不支持OpenGL的。需要玩家下载驱动。<br /> 3. N显卡对OpenGL的某些特性是默认关闭的,需要使用NVemulate工具才能打开;<br />
2011-01-20 23:22:00 1301
转载 年度总结之二:GPU Driver
<br /> <br />关于Direct3D驱动流程的大致描述<br /> <br /><br /> <br /> <br /> <br />上图的流程可以知道, 任何一个有界面的程序, 如果要显示在具备独立显卡的显示器上, 首先第一步要做的就是在显存中分配空间, 此内核函数DxgkDdiCreateDevice(DirectX graphic kernel driver device interfacecreate deivce的缩写)是由显卡厂商提供的,
2011-01-20 18:29:00 4821
原创 年度总结之一:半透物体处理
<br />好久没写了,这段时间相对较闲,把前段时间遇到的问题和解决方法及后续的问题进行梳理和总结,也算是2010年度总结吧。<br /> 这次先从半透明物体的渲染说起 ,为了方便期间,分以下几种常遇到的情况来讨论:<br /> <br /><1> 半透物体极少,只有一两个,其相互之间也不会出现重叠。<br /> <br />这也是最简单的一种情况。先渲染不透明的物体,然后开启alphablend,禁止深度写和alphatest,再渲染半透物体,即可。看起来问题就解决了。但是在实现的时候会发现
2011-01-20 15:14:00 1383
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人