自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 dx10 学习随笔(三)

结合dx文档解析 PipesGS 的实现原理。深入理解 GS 及 StreamOut 等dx 基础概念。

2011-01-29 09:33:00 716

原创 dx10 学习随笔(二)

Direct3D 10 的管线状态1、Input-Assembler Stage : 负责给管线提供数据(三角形,线和点)。2、Vertex-Shader Stage: 顶点处理。执行诸如,位置变换、蒙皮、光照等计算。接受一个顶点作为输入,并产生一个相应的顶点作为输出。3、Geometry-Shader Stage: 图元处理。输入是一个完整的图元(三角形图元就是三个顶点、线图元就是两个顶点、点图元就是一个点)。除此之外,每个图元还可以包 含相应的临界图元的信息。GS 还支持有限的图形的放大和缩小

2011-01-28 23:38:00 676

原创 dx10 学习随笔(一)

dx10都不是什么新东西了,简单的记录一些重点。Direct3D 10 图形管线在基础架构上做了有了很大的改变。

2011-01-28 21:43:00 651

原创 年度总结之十:防外挂

<br />这个似乎不该写,万一被做外挂的看了,岂不是自掘坟墓。

2011-01-21 23:21:00 479

原创 年度总结之九: 玩家的问题

大规模测试即将到来,在这之前,相信所有的图形程序头痛的都是机器配置的测试,我们公司的这些测试都是我来做的,当时给了我两台机器和若干各个级别的显卡。测试下来虽然耗时,但也算顺利,基本达到原定计划。激动人心的时刻终于到了,在测试过程中,最让我神经过敏的无非就是玩家因为配置问题玩不了游戏的情况。现在根据我遇到的情况,总结一个排除问题的步骤:1、根据玩家描述直接能确定的问题。2、先指导玩家到 NV 或 AMD 等显卡厂商官网下载对应的驱动,本人建议有必要在游戏官网给出链接,在玩家提出问题后再回复中根据其显卡型号再提

2011-01-21 21:35:00 430

原创 年度总结之八:神奇的 deferred shading

待写。。

2011-01-20 23:40:00 426

原创 年终总结之七:烦人的字体

<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 4819

原创 年度总结之一:半透物体处理

<br />好久没写了,这段时间相对较闲,把前段时间遇到的问题和解决方法及后续的问题进行梳理和总结,也算是2010年度总结吧。<br />        这次先从半透明物体的渲染说起 ,为了方便期间,分以下几种常遇到的情况来讨论:<br /> <br /><1> 半透物体极少,只有一两个,其相互之间也不会出现重叠。<br /> <br />这也是最简单的一种情况。先渲染不透明的物体,然后开启alphablend,禁止深度写和alphatest,再渲染半透物体,即可。看起来问题就解决了。但是在实现的时候会发现

2011-01-20 15:14:00 1382

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除