![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DX9基础
文章平均质量分 71
StrongCoding
这个作者很懒,什么都没留下…
展开
-
DirectX模板技术解析基础一
一、预备知识:1、涉及的相关概念区别:(1) 后缓存又被称之为目标缓存,它是我们渲染数据到屏幕,事先存储数据的层;(2) 深度缓存,是记录深度信息的数据层,往往和模板缓存掺杂在一起; (3) 模板缓存,顾名思义就是用来保存模板值的。它的作用就是控制哪些像素被写入到后缓存中去,如果待测试的像素没有通过深度 测试函数,则意味着该像素无法写入到后缓存,也就意味着也不会写入到深度缓存中去。 2、模板缓存涉及的相关概念:(1)参考值REF Device->S原创 2011-03-11 07:12:00 · 1715 阅读 · 0 评论 -
网格模型中级五
<br />作者:StrongCoding<br /><br />邮箱:StrongCoding@qq.comDX群:130302441<br /><br />若文中有误,请告知.十分感谢.一起加油.<br /> <br /> 在上一篇中,我们一起学习了关于渐变网格模型的相关知识点,回顾下包括:如何生成渐变网格、渐变网格的优势、如何自定义设置渐 变网格的品质权重值、顶点权重值、如何重新再次设置最小最大面数或者顶点数。在接下来的这一篇幅中,我们主要一起学习下实现代码:<br /> <b原创 2011-03-21 23:15:00 · 759 阅读 · 0 评论 -
网格模型中级四
<br />作者:StrongCoding<br /><br />邮箱:StrongCoding@qq.comDX群:130302441<br /><br />若文中有误,请告知.十分感谢.一起加油.<br /> <br />这一篇我们一起学习下渐进网格,不多说废话,开主题:<br /> <br />一、渐变网格的概念<br /> <br /> 渐进网格通过ID3DXPMESH接口来实现.允许我们通过简化边来简化我们的MESH模型.我们能够简化,或者说简化到一定程度后,复原之前的MESH.可分三个层原创 2011-03-21 22:28:00 · 649 阅读 · 0 评论 -
网格模型中级三
<br />作者:StrongCoding<br /><br />邮箱:StrongCoding@qq.comDX群:130302441<br /><br />若文中有误,请告知.十分感谢.一起加油.<br /> <br />上一篇中,我们一起学习了如何加载一个.X文件,并且从其中提取相关的材质和纹理信息,接着优化并绘制的过程。在这一篇里,我们 将一起学习如何给没有法线信息的MESH创建法线,好了不多说了,开始:<br /> <br />当提供给我们的确实是没有法线信息的MESH的时候,或者通过D3DX原创 2011-03-20 12:02:00 · 577 阅读 · 0 评论 -
网格模型基础三
<br />作者:StrongCoding<br /><br />邮箱:StrongCoding@qq.comDX群:130302441<br /><br />若文中有误,请告知.十分感谢.一起加油.<br /> <br />这一篇将深入网格模型的基础,看一下,网格模型这个东西,内部到底隐藏了些什么,真的有那么深奥吗?呵呵,不卖关子了,一起来 看看吧:<br /> <br />一、MESH属性表相关<br /> <br />1、获取MESH子集数目<br /> <br /> DWORD sub原创 2011-03-19 10:41:00 · 1127 阅读 · 0 评论 -
网格模型中级二
<br />作者:StrongCoding<br /><br />邮箱:StrongCoding@qq.comDX群:130302441<br /><br />若文中有误,请告知.十分感谢.一起加油.<br /> <br />下面我们一起学习一下,如何利用网格模型中级一的知识加载一个普通的.X文件,仅仅列一下核心代码:<br /> <br />一、实现关键思路:<br /> <br />1、加载.X文件<br />2、从.X文件中提取材质和纹理<br />3、释放材质指针<br />4、优化MESH<br原创 2011-03-20 03:47:00 · 580 阅读 · 0 评论 -
网格模型基础一
<br />作者:StrongCoding<br /> <br />邮箱:StrongCoding@qq.comDX群:130302441<br /> <br />若文中有误,请告知.十分感谢.一起加油.<br /> <br />接下来,我们主要是一起来了解下网格模型的基础知识,还是废话少说,直切主题:<br /> <br />相关术语的说明:<br /> <br />一、属性缓存区( D3DXATTRIBUTERANGE )<br /> <br /> 当我们的MESH被优化后,并且当指定原创 2011-03-19 03:14:00 · 920 阅读 · 0 评论 -
网格模型中级一
<br />作者:StrongCoding<br /><br />邮箱:StrongCoding@qq.comDX群:130302441<br /><br />若文中有误,请告知.十分感谢.一起加油.<br /> <br />从这篇开始,我们将一起开启中级的网格模型教程,深夜了,不罗嗦了,直插主题:<br /> <br />一、涉及的相关概念:<br /> <br />1、 ID3DXBuffer<br /> <br /> ID3DXBuffer是用来存储D3DX的邻接信息的。它仅有两个方法:<b原创 2011-03-20 03:14:00 · 693 阅读 · 0 评论 -
网格模型基础二
<br />作者:StrongCoding<br /><br />邮箱:StrongCoding@qq.comDX群:130302441<br /><br />若文中有误,请告知.十分感谢.一起加油.<br /> <br />这一篇主要说一下渲染的准备流程:<br /> <br />(1) 填充顶点数据信息<br />(2) 填充索引数据信息<br />(3) 优化<br />(4) 渲染<br /> <br />下面具体分步骤实时:<br /> <br />一、填充顶点数据信息:<br /> <br />原创 2011-03-19 04:34:00 · 634 阅读 · 0 评论 -
计算帧速率
作者:StrongCoding邮箱:StrongCoding@qq.comDX群:130302441若文中有误,请告知.十分感谢.一起加油.在测试软件中,我们经常需要查看程序的渲染速度是否合理,所以,我们就有必要记录一下程序在大于等于1秒的持续调用某函数的情况 下,需要记录下该函数到底被调用了多少次,以此来反馈帧速率。为了实现这个目的,我们需要这样子做:实现思路:1、首先记录下程序在一开始进入While循环的时候,并且没有响应任何事件的时候,需要保存一下当前的时间值A。然后当程序原创 2011-03-16 05:55:00 · 5889 阅读 · 0 评论 -
聊一聊DX字体
<br /><br />作者:StrongCoding<br /> <br />邮箱:StrongCoding@qq.comDX群:130302441<br /> <br />若文中有误,请告知.十分感谢.一起加油.<br /> <br />在游戏开发中,我们经常需要显示的在屏幕上打印字体,已将文字消息渲染到屏幕,实现信息互动。本篇就是基于此,好了,不多说了,开始吧:<br /> <br />DX一共支持三种字体的渲染,在这里说一下:伪代码掩饰哈<br /> <br /><1>最简单的ID3DXFONT,其原创 2011-03-16 06:27:00 · 1058 阅读 · 0 评论 -
DirectX模板技术解析基础三
作者:StrongCoding邮箱:StrongCoding@qq.comDX群:130302441若文中有误,请告知.十分感谢.一起加油.这一篇,主要是针对其中的比较重要,可能是你比较模糊的概念或者代码片段的重要分析:一、ALPHABLEND (1) 在渲染模板镜子的时候曾用到了混合 Device->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_ZERO ); Device->SetRenderState( D3DRS_DSTBLEND, D3DB原创 2011-03-13 00:31:00 · 1035 阅读 · 0 评论 -
DirectX模板技术解析基础二
作者:StrongCoding邮箱:StrongCoding@qq.com DX群:130302441若文中有误,请告知.十分感谢.一起加油.下面我们一起学习DX9模板缓存的代码实现,例子程序是实现镜面反射:先说下具体实现步骤:1、正常渲染我们的所有场景2、清空深度模板缓存区3、绘制镜子并使其模板值为0x1 ( 目的:标示 )4、渲染我们的反射茶壶5、收拾残局 还原设备渲染状态OK,一步一步来:一、正常渲染我们的场景: 在此就不多说了,就像你之前常规渲染场景前是一个样子的。重点学下面步骤。原创 2011-03-12 21:12:00 · 4038 阅读 · 1 评论 -
网格模型中级六
<br />作者:StrongCoding<br /><br />邮箱:StrongCoding@qq.comDX群:130302441<br /><br />若文中有误,请告知.十分感谢.一起加油.<br /> <br />这一篇将介绍网格模型的界线容积,实现用于实现碰撞检测的两个东西:包围盒和包围球.<br /> <br />下面是实现代码,不多说了:<br /> <br /> ID3DXMesh* BoxMesh = 0;<br /><br />struct BoundingBox{<br原创 2011-03-22 05:51:00 · 1071 阅读 · 0 评论