游戏开发
文章平均质量分 78
xfate
这个作者很懒,什么都没留下…
展开
-
Direct3D学习笔记:direct3d的基本知识和初始化
<br />1.表面(Surface)<br />typedefstruct D3DSURFACE_DESC {<br /> D3DFORMAT Format;<br /> D3DRESOURCETYPE Type;<br /> DWORD Usage;<br /> D3DPOOL Pool;<br /> D3DMULTISAMPLE_TYPE MultiSampleType;<br /> DWORD原创 2010-07-31 00:29:00 · 1458 阅读 · 0 评论 -
Direct3D学习笔记:渲染管线
<br />渲染管线<br />1图元<br />图元就是组成图像的基本单元,比如三维模型中的点、线、面等等,注意图元(entity)与片元(primitive)的区别,片元就是以后的像素点,它比像素多一些位置啊、法向量等属性。逐个片元操作有像素所有权操作(确定目标像素可见还是被一个重叠的窗口盖住了),剪切测试、Alpha测试、模板测试、混合等。而片段(fragments)是指具有相同属性的一小部分像素区域。<br />一个场景是多个物体或模型的集合,由三角形网格建立一个物体,称之为建模,3d世界最基本的图原创 2010-08-01 17:40:00 · 2391 阅读 · 0 评论 -
Direct3D学习笔记:色彩
<br /><br />1.存储RGB信息的两个结构:<br />1.1 D3DCOLOR<br />typedefDWORDD3DCOLOR;<br /><br />填充这个DWORD字段需要用以下宏<br />D3DCOLORcl = D3DCOLOR_ARGB(255,255,10,0)<br />或是D3DCOLORcl = D3DCOLOR_XRGB(r,g,b)<br /><br />1.2 D3DCOLORVALUE<br />structD3DCOLORVALUE {<br />原创 2010-08-01 17:45:00 · 798 阅读 · 0 评论 -
D3D学习笔记:绘制
<br />1.顶点/索引缓冲区<br />顶点/索引缓冲区是一片存储着顶点/索引数据的内存。<br />顶点缓冲区通过IDirect3DVertexBuffer9接口来定义的。索引缓冲区时通过IDirect3DIndexBuffer9接口来定义的。<br />1.1 创建一个顶点缓冲区和一个索引缓冲区<br />创建顶点缓冲区函数原型:<br />HRESULT CreateVertexBuffer(<br /> //分配缓冲区的内存大小,比如分配个顶点,则可以* sizeof(Vertex)<b原创 2010-08-20 01:11:00 · 674 阅读 · 0 评论 -
D3D学习笔记:混合
<br />混合(blending)<br />1.混合:<br />用已经光栅化的像素光栅化同一位置的像素。就是我们在图元上混合图元。<br />使用混合时,下面的规则将被遵循:<br />规则:首先不使用混合绘制物体。然后根据物体离摄象机的距离使用混合对物体拣选。<br />下面的公式是用来混合两个像素值的:<br /><br /><br />上面的所有变量都是一个 4D颜色向量(r,g,b,a),并且x符号是表示分量相乘。<br /> OutputPixel——混合后的像素结果。<br /> So原创 2010-08-21 16:30:00 · 1126 阅读 · 0 评论 -
D3D学习笔记:模板
<br />模版缓存是一个远离屏幕的缓存,我们能够用它来完成一些特效。模版缓存与后缓存和深度缓存有相同的定义,因此在模版缓存中的[i][j]像素与后缓存和深度缓存中的[i][j]像素是相协调的。就象名字所说,模版缓存就象一个模版它允许我们印刷渲染后缓存的某个部分。<br /> <br />1.使用模板缓存<br />1.1启用模版缓存<br />Device->SetRenderState(D3DRS_STENCILENABLE,true);<br />我们可以使用IDirect3DDevice9::Cle原创 2010-08-21 16:36:00 · 3702 阅读 · 2 评论 -
shader学习笔记——Looking Through A Filter 通过滤波器观察
<br />渲染目标render target<br />所谓渲染目标,就是指GPU可以把画面绘制到的目标,我们可以把它理解为GPU的画布。<br /> <br />当场景不是被渲染在正常的屏幕后备缓冲,而是被渲染在一个临时的纹理。这个临时的纹理经过过滤特效处理后,然后传到后备缓冲,最后画到屏幕上。绘制这样的一个可以实现某些功能的临时纹理被称为渲染目标。<br /> <br />实质上,渲染目标是一个连续的内存区域,这样的内存区域可以同时的存在多个,也就是多个渲染目标。一般来说,渲染目标被输出到屏幕上,这样原创 2010-09-05 22:50:00 · 1240 阅读 · 0 评论 -
shader学习笔记——运动模糊(motion blur)
运动模糊(motion blur)运动模糊效果的工作流程1.先将场景渲染到一个RenderTarget1上2.将RenderTarget1跟上一帧渲染的结果进行混合, 并输出到RenderTarget23.将RenderTarget2输出到屏幕, 并将其保留到下一帧进行混合ScreenAlignedQuad:一个正方形网格Pass0的设置和代码:RenderTarget 开启颜色清除和深度缓冲清除。Vertex Shader代码:float4x4 matViewProjection;struct VS_IN原创 2010-09-05 22:58:00 · 7585 阅读 · 0 评论