﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-天行健      君子当自强而不息-随笔分类-■ DirectX 9 Program</title><link>http://www.cppblog.com/lovedday/category/4152.html</link><description>&lt;br&gt;【用心生活 | 没有计划的人生是失败的 | 不善于从生活与实践中学习是失败之源 | 不懂得正确思考将毁了我们的一生 | 你的生活方式决定了你的健康 |  用正确的方法解决问题】&lt;br&gt;【人生的意义在于过程 | 积极主动地解决问题 | 用行动来明白 | 人无自尊毋宁死 | 万事必有因 | 好的习惯是成功的基石 | 最大的错误是没意识到错误 | 拖延是最坏的习惯】</description><language>zh-cn</language><lastBuildDate>Thu, 25 Sep 2008 05:42:36 GMT</lastBuildDate><pubDate>Thu, 25 Sep 2008 05:42:36 GMT</pubDate><ttl>60</ttl><item><title>网格模型高级技术</title><link>http://www.cppblog.com/lovedday/archive/2008/06/14/53211.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Sat, 14 Jun 2008 02:25:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/06/14/53211.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/53211.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/06/14/53211.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/53211.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/53211.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在三维图形程序设计中，网格模型占有非常重要的地位，而且也是比较复杂的部分，特别是包含动画和蒙皮信息的网格模型。<br><br>.x文件格式最初是为传统的Direct3D保留模式而设计的，在DirectX 6.0问世后，针对立即模式对它作过一次扩展。要想在Direct3D程序中灵活自如地使用网格模型，应当深入理解.x文件格式。 &nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/06/14/53211.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/53211.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-06-14 10:25 <a href="http://www.cppblog.com/lovedday/archive/2008/06/14/53211.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>高级纹理映射技术
</title><link>http://www.cppblog.com/lovedday/archive/2008/05/22/50782.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Thu, 22 May 2008 10:12:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/05/22/50782.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/50782.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/05/22/50782.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/50782.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/50782.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 纹理映射在三维图形程序设计中具有非常重要的作用，三维场景中的许多特殊效果都是通过纹理映射来实现的。例如通过纹理映射模拟复杂的光照效果，物体表面对周围环境的反射效果等。<br><br>Direct3D最多支持8层纹理，也就是说，在一个三维物体的表面可以同时拥有1~8张不同的纹理贴图。Direct3D能够在一个渲染过程中把这些纹理颜色依次混合，渲染到同一个物体的表面。每一个纹理层对应0~7的索引序号，多层纹理映射能够模拟更为真实的三维世界。 &nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/05/22/50782.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/50782.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-05-22 18:12 <a href="http://www.cppblog.com/lovedday/archive/2008/05/22/50782.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Direct3D中的字体与文本显示</title><link>http://www.cppblog.com/lovedday/archive/2008/05/11/49567.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Sun, 11 May 2008 12:50:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/05/11/49567.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/49567.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/05/11/49567.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/49567.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/49567.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 图形系统中为了获得当前运行程序的相关信息，往往需要在屏幕上显示文本，Direct3D的功能扩展接口ID3DXFont对此提供了方便的解决方法。<br><br>使用接口ID3DXFont绘制文本，首先需要通过函数D3DXCreateFont()创建ID3DXFont字体对象。ID3DXFont接口封装了 Windows字体和Direct3D设备指针，D3DXCreateFont()函数通过Windows字体和Direct3D设备指针创建 ID3DXFont对象。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/05/11/49567.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/49567.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-05-11 20:50 <a href="http://www.cppblog.com/lovedday/archive/2008/05/11/49567.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Direct3D中的雾化</title><link>http://www.cppblog.com/lovedday/archive/2008/05/11/49520.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Sun, 11 May 2008 10:21:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/05/11/49520.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/49520.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/05/11/49520.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/49520.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/49520.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 雾化效果是计算机图形学中应用最广的效果之一，它不仅能显著地增加视觉效果的真实感，并可以提供一定的深度感。在实时图形程序，特别是游戏设计程序中，为了确保图形系统的运行速度，图形开发人员往往在位于观察点远处的场景使用较为简单的三维模型，甚至不绘制物体，而在近处使用复杂模型，这样就可能造成物体变形、突然出现或突然消失等失真现象，雾化效果可以有效地避免这种失真现象。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/05/11/49520.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/49520.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-05-11 18:21 <a href="http://www.cppblog.com/lovedday/archive/2008/05/11/49520.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>深度测试与alpha混合</title><link>http://www.cppblog.com/lovedday/archive/2008/05/10/49435.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Sat, 10 May 2008 09:02:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/05/10/49435.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/49435.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/05/10/49435.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/49435.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/49435.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在绘制复杂的三维场景时，不可避免地会出现物体间的相互遮挡，在这种情况下，为了正确地绘制场景需要使用深度测试。半透明物体的绘制不同于不透明物体， Direct3D通过alpha混合实现半透明物体的绘制。深度测试可以简化复杂场景的绘制，alpha混合可以使绘制的三维场景更完整、更逼真。<br><br>在复杂的场景中，通常有多个物体需要绘制，这些物体之间通常会存在遮挡关系，离观察点较远的物体会因为近处物体的者的遮挡而不可见或只有部分可见，Direct3D图形系统提供了深度测试功能来实现这种效果。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/05/10/49435.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/49435.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-05-10 17:02 <a href="http://www.cppblog.com/lovedday/archive/2008/05/10/49435.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用.x文件模型</title><link>http://www.cppblog.com/lovedday/archive/2008/05/09/49313.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Fri, 09 May 2008 07:33:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/05/09/49313.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/49313.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/05/09/49313.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/49313.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/49313.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 利用.x文件模型渲染三维模型，首先需要将.x文件中的各种数据分别加载到内存中，主要包括顶点数据、材质数据和纹理数据等。<br><br>Direct3D扩展实用库定义了多边形网格模型接口ID3DXMesh来表示一个复杂的三维物体模型，它是一个COM接口，继承自ID3DXBaseMesh。<br><br>Direct3D扩展实用库函数D3DXCreateMesh()可用于创建一个Direct3D网格模型对象。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/05/09/49313.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/49313.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-05-09 15:33 <a href="http://www.cppblog.com/lovedday/archive/2008/05/09/49313.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>纹理映射基础</title><link>http://www.cppblog.com/lovedday/archive/2008/05/07/49145.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Wed, 07 May 2008 10:08:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/05/07/49145.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/49145.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/05/07/49145.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/49145.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/49145.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 为了使渲染的图形看起来更真实，Direct3D提供了在物体表面绘制纹理的功能。一般说来，纹理是表示物体表面细节的一幅或几幅二维图形，也称纹理贴图（texture）。当把纹理按照特定的方式映射到物体表面的时候，能使物体看上去更加真实。当前流行的图形系统中，纹理绘制已经成为一种必不可少的渲染方法。在理解纹理映射时，可以将纹理看作应用程序在物体表面的像素颜色。在真实世界中，纹理表示一个对象的颜色、图案以及触觉特征。但在Direct3D 中，纹理只表示对象表面的彩色图案，它不能改变对象的几何形式。更进一步说，它只是一种高强度计算行为。  &nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/05/07/49145.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/49145.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-05-07 18:08 <a href="http://www.cppblog.com/lovedday/archive/2008/05/07/49145.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>深入理解光照计算模型</title><link>http://www.cppblog.com/lovedday/archive/2008/05/05/48876.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Mon, 05 May 2008 03:44:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/05/05/48876.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/48876.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/05/05/48876.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/48876.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/48876.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Ambient lighting provides constant lighting for a scene. It lights all object vertices the same because it is not dependent on any other lighting factors such as vertex normals, light direction, light position, range, or attenuation. It is the fastest type of lighting but it produces the least realistic results. Direct3D contains a single global ambient light property that you can use without creating any light. Alternatively, you can set any light object to provide ambient lighting. &nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/05/05/48876.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/48876.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-05-05 11:44 <a href="http://www.cppblog.com/lovedday/archive/2008/05/05/48876.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>光照与材质</title><link>http://www.cppblog.com/lovedday/archive/2008/05/05/48861.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Mon, 05 May 2008 01:32:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/05/05/48861.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/48861.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/05/05/48861.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/48861.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/48861.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在三维图形程序中使用光照效果能够有效地增强场景的真实感。在Direct3D中，通过计算场景中的光线和物体表面材质反射光线颜色的数学交互，可使光线模型接近于真实世界的照明系统。<br><br>在真实世界中，光线在到达眼睛之前经过了物体表面的多次反射，每次反射时，物体表面都会吸收一些光，有些被随机反射扩散出去，其余的到达下一个物体的表面或眼睛。真实世界中光线反射的效果就是光线跟踪算法需要模拟实现的。尽管光线跟踪算法能够创建非常逼真的与自然界中观察到极为相似的景象，但是还没有实时程序能够完成这些运算。考虑到实时渲染的需要，Direct3D使用更简单的方法进行光照计算。Direct3D光照计算模型包括4种：环境光、漫反射光、镜面反射光和自发光。它们的结合能灵活高效地解决三维图形程序中的光照问题。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/05/05/48861.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/48861.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-05-05 09:32 <a href="http://www.cppblog.com/lovedday/archive/2008/05/05/48861.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>顶点坐标变换</title><link>http://www.cppblog.com/lovedday/archive/2008/05/02/48638.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Fri, 02 May 2008 06:08:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/05/02/48638.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/48638.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/05/02/48638.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/48638.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/48638.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 空间中的物体需要使用三维坐标来描述，而显示器是一个二维的表面，所以在屏幕上渲染一个三维场景时，首先需要将描述空间物体的三维坐标变换为二维坐标（世界坐标到屏幕坐标），这在Direct3D中称为顶点坐标变换。顶点坐标变换通常通过矩阵来完成。可以把顶点坐标变换想象成摄像过程，三维世界的景物通过摄像机的拍摄显示在二维的相片上，所不同的是把相片换成了屏幕。 &nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/05/02/48638.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/48638.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-05-02 14:08 <a href="http://www.cppblog.com/lovedday/archive/2008/05/02/48638.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Direct3D中的颜色和资源</title><link>http://www.cppblog.com/lovedday/archive/2008/05/01/48595.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Thu, 01 May 2008 09:16:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/05/01/48595.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/48595.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/05/01/48595.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/48595.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/48595.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 颜色在Direct3D中占据比较重要的位置，所有的操作无论是光照还是纹理贴图，其结果最终都归结到如何影响每个顶点或像素的颜色。<br><br>Direct3D资源是指用来渲染一个场景的纹理或缓冲区。应用程序需要创建、加载、复制、使用资源。Direct3D所有的资源，包括几何数据资源 IDirect3DIndexBuffer9、IDirect3DVertexBuffer9等，都继承于接口IDirect3DResource9。纹理资源IDirect3DCubeTexture9，IDirect3DTexture9和IDirect3DVolumeTextre9是从接口 IDirect3DResource9的子接口IDirect3DBaseTexture9中继承而来的。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/05/01/48595.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/48595.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-05-01 17:16 <a href="http://www.cppblog.com/lovedday/archive/2008/05/01/48595.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>坐标系与基本图元</title><link>http://www.cppblog.com/lovedday/archive/2008/05/01/48592.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Thu, 01 May 2008 08:16:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/05/01/48592.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/48592.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/05/01/48592.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/48592.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/48592.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 图元（primitives）是Direct3D中定义的基本图形表示，它是组成一个单一实体的一组顶点。最简单的图元是三维坐标系中多个点的集合，称为点列表（point list）。通常，图元是多边形（polygon），一个多边形是由至少三条边组成的封闭图形。最简单的多边形是三角形，Direct3D使用三角形来构成大多数其他多边形，这是因为三角形的三个顶点肯定是共面的，而渲染不共面的顶点效率比较低。通过组合三角形可以形成更大、更复杂的多边形和网格（mesh）。 &nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/05/01/48592.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/48592.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-05-01 16:16 <a href="http://www.cppblog.com/lovedday/archive/2008/05/01/48592.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【ZT】D3DFVF_XYZ和D3DFVF_XYZRHW的区别</title><link>http://www.cppblog.com/lovedday/archive/2008/04/30/48507.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Wed, 30 Apr 2008 02:44:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/04/30/48507.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/48507.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/04/30/48507.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/48507.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/48507.html</trackback:ping><description><![CDATA[D3DFVF_XYZ和D3DFVF_XYZRHW有什么区别？以前好像没有仔细思考过，只是见到Beginning DirectX9中如是说：The RHW
value, which stands for Reciprocal of Homogeneous W[<font color="#800000">1</font>],
tells Direct3D that the vertices that are being used are already in screen
coordinates. This value is normally used in fog and clipping calculations and
should be set to 1.0.<br><br>
<p>&nbsp;&nbsp;&nbsp;
今天，做了个实验得知，在顶点结构体中没有RHW时，Direct3D将执行视、投影、世界等变换以及进行光线计算，之后你才能在窗口中得到你所绘制的物体。当顶点结构体中有RHW时，就像上面那段英文所述，告知Direct3D使用的顶点已经在屏幕坐标系中了，不再执行视图、投影、世界等变换和光线计算，因为D3DFVF_XYZRHW标志告诉它顶点已经经过了这些处理，并直接将顶点进行光栅操作，任何用SetTransform进行的转换都对其无效。不过这时的原点就在客户区的左上角了，其中x向右为正，y向下为正，而z的意义已经变为z-buffer的象素深度。</p>
<p><br></p>
<p>&nbsp;&nbsp;&nbsp;
值得注意的是，D3DFVF_XYZRHW和D3DFVF_XYZ、D3DFVF_NORMAL不能共存，因为后两个标志与前一个矛盾。在使用这种顶点时，系统需要顶点的位置已经经过变换了，也就是说x、y必须在屏幕坐标系中，z必须是z-buffer中的象素深度，取值范围：0.0－1.0，离观察者最近的地方为0.0，观察范围内最远可见的地方为1.0。(<font color="#800000">不过我测试的时候似乎z值不起作用。</font>)</p>
<br>If you use D3DFVF_XYZ, then your vertex format needs to have 3 floats
in it, for x, y and z. Those are used to define a vertex position in 3D
space.If you use D3DFVF_XYZRHW, then your vertex format needs to have 4
floats in it, for x, y, z and rhw. X and Y are used to define a vertex
position in 2D space, Z is ignored (I think, it may be used for fog and
such, but I don't recall just now - I always set it to 0.0f), and rhw
is the Reciprocal of Homogenous W - which is basically 1 / the depth of
the vertex.<br>
<br>
Usually, you use D3DFVF_XYZRHW for doing 2D, and D3DFVF_XYZ any other
time. However, a lot of people just use D3DFVF_XYZ, and use an
orthoganal projection matrix to make it seem 2D.
<p>_______________________</p>
<p>[1] RHW表示投影空间中顶点所在的齐次点(x,y,z,w)(homogeneous point)的w坐标的倒数(reciprocal)。</p>
<br> <img src ="http://www.cppblog.com/lovedday/aggbug/48507.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-04-30 10:44 <a href="http://www.cppblog.com/lovedday/archive/2008/04/30/48507.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Direct3D程序设计基础</title><link>http://www.cppblog.com/lovedday/archive/2008/04/29/48454.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Tue, 29 Apr 2008 07:45:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/04/29/48454.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/48454.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/04/29/48454.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/48454.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/48454.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Microsoft Direct3D的一种实现方式是通过组件对象模型（Component Object Model, COM）及其接口实现的，在用C++语言和COM接口方式开发的程序中可以直接访问这些接口和对象。Direct3D对象是Direct3D程序中需要创建的第一个对象，也是需要最后一个释放的对象，这里所说的对象是指COM对象。通过Direct3D对象，可以枚举和检索Direct3D设备，这样应用程序就可以在不需要创建设备对象的前提下选择Direct3D渲染设备。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/04/29/48454.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/48454.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-04-29 15:45 <a href="http://www.cppblog.com/lovedday/archive/2008/04/29/48454.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【ZT】模拟实现ID3DXSkinInfo::UpdateSkinnedMesh</title><link>http://www.cppblog.com/lovedday/archive/2008/04/22/47819.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Tue, 22 Apr 2008 07:22:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/04/22/47819.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/47819.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/04/22/47819.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/47819.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/47819.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: FinalPos = MeshPos + ∑( Difference_i * Weight_i)<br><br>= MeshPos + ∑( (NewMeshPos_i - MeshPos) * Weight_i )<br><br>= MeshPos + ∑( (MeshPos × OffsetMatix_i × CombinedMatrix_i - MeshPos) * Weight_i ) [1]&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/04/22/47819.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/47819.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-04-22 15:22 <a href="http://www.cppblog.com/lovedday/archive/2008/04/22/47819.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>D3D中的拾取</title><link>http://www.cppblog.com/lovedday/archive/2008/04/04/46264.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Fri, 04 Apr 2008 08:31:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/04/04/46264.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/46264.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/04/04/46264.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/46264.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/46264.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 假设用户点击了屏幕上的点 s (x, y)。 从图15.1我们能看到用户选取了茶壶。无论如何，应用程序无法根据给定的s点就立即确定茶壶是被选取。<br><br>我们知道一些知识：关于茶壶和它的关联点s，茶壶投影在围绕s点的区域，更准确的说是：它投影到投影窗口上围绕p点的区域，与它对应的屏幕点是s。因为这个问题依赖于3D物体与它的投影之间的关系，我们看图15.2就可以了解。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/04/04/46264.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/46264.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-04-04 16:31 <a href="http://www.cppblog.com/lovedday/archive/2008/04/04/46264.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>D3D中的粒子系统</title><link>http://www.cppblog.com/lovedday/archive/2008/04/04/46253.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Fri, 04 Apr 2008 05:13:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/04/04/46253.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/46253.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/04/04/46253.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/46253.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/46253.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 许多自然现象是由很多小的小颗粒组成的，它们有相似的行为。（例如，雪花落下，闪烁的火焰，冲出枪管的“子弹”），粒子系统用来模拟这种现象。<br><br>粒子是一个很小的对象，它通常用来模拟数学中的一个点。点元是用来显示粒子的很好的方案，可是点元被光栅化成一个简单的像素。这没给我们多少灵活性，因为我们想有各种大小不同的粒子，并且把整个纹理平滑映射到这些粒子上。在Direct3D 8.0以前，因为点元方法的局限性而完全不使用他们。代替的方法是程序员将使用公告板去显示粒子，一个板是一个方格，世界矩阵用它来确定方向，使它总是朝向照相机。  &nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/04/04/46253.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/46253.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-04-04 13:13 <a href="http://www.cppblog.com/lovedday/archive/2008/04/04/46253.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>D3D中的地形绘制基础</title><link>http://www.cppblog.com/lovedday/archive/2008/04/02/46101.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Wed, 02 Apr 2008 13:43:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/04/02/46101.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/46101.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/04/02/46101.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/46101.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/46101.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 实际上，地形网格不比三角形网格复杂，图13.1.(a)所示，网络的每个顶点指定了高度，格子模型用这种方式显示从山脉到河流的平滑过渡。图13.1 (b)，模拟自然地形。当然，我们可以用漂亮的纹理表现沙石地，绿色的山丘。图13.1.(c)雪山效果。 &nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/04/02/46101.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/46101.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-04-02 21:43 <a href="http://www.cppblog.com/lovedday/archive/2008/04/02/46101.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>设计一个灵活的Camera类</title><link>http://www.cppblog.com/lovedday/archive/2008/03/30/45745.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Sun, 30 Mar 2008 07:19:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/03/30/45745.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/45745.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/03/30/45745.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/45745.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/45745.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 我们使用D3DXMatrixLookAtLH函数来计算视图空间变换矩阵。这个函数对于在固定位置布置和对准摄像机是非常好用的，不过它的用户接口对于要响应用户输入来实现摄像机移动就不那么好用了。这就激发我们用我们自己的方法来解决，这里我们展示了怎样实现一个Camera类，它使我们能够比 D3DXMatrixLookAtLH函数更好地操作摄像机，并且可以用来作为飞行模拟摄像机和第一人称视角摄像机。  &nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/03/30/45745.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/45745.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-03-30 15:19 <a href="http://www.cppblog.com/lovedday/archive/2008/03/30/45745.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>D3D中的网格模型</title><link>http://www.cppblog.com/lovedday/archive/2008/03/29/45694.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Sat, 29 Mar 2008 11:23:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/03/29/45694.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/45694.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/03/29/45694.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/45694.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/45694.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: ID3DXMesh接口的主要功能继承自ID3DXBaseMesh父接口，了解这些是很重要的，其它一些mesh接口如ID3DXPMesh也是继承自ID3DXBaseMesh。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/03/29/45694.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/45694.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-03-29 19:23 <a href="http://www.cppblog.com/lovedday/archive/2008/03/29/45694.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>D3D中的字体绘制</title><link>http://www.cppblog.com/lovedday/archive/2008/03/26/45451.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Wed, 26 Mar 2008 10:52:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/03/26/45451.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/45451.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/03/26/45451.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/45451.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/45451.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在D3DX库中提供了一个ID3DXFont接口，它能被用于在Direct3D应用程序中绘制文字。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/03/26/45451.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/45451.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-03-26 18:52 <a href="http://www.cppblog.com/lovedday/archive/2008/03/26/45451.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>D3D中的模板缓存</title><link>http://www.cppblog.com/lovedday/archive/2008/03/25/45338.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Tue, 25 Mar 2008 04:28:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/03/25/45338.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/45338.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/03/25/45338.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/45338.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/45338.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 模板缓存是一个离屏缓存，我们能够用它来完成一些特效。模板缓存与后台缓存和深度缓存有相同的定义，因此在模板缓存中的像素与后台缓存和深度缓存中的像素是相协调的。就象名字所说，模板缓存就象一个模板它允许我们刷新渲染后缓存的某个部分。 &nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/03/25/45338.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/45338.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-03-25 12:28 <a href="http://www.cppblog.com/lovedday/archive/2008/03/25/45338.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>D3D中的Alpha融合技术</title><link>http://www.cppblog.com/lovedday/archive/2008/03/18/44770.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Tue, 18 Mar 2008 06:57:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/03/18/44770.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/44770.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/03/18/44770.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/44770.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/44770.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 我们介绍一种叫做混合（blending）的技术，它允许我们混合像素，我们通常用已经光栅化的像素光栅化同一位置的像素。换句话说就是我们在图元上混合图元，这种技术允许我们完成多种特效。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/03/18/44770.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/44770.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-03-18 14:57 <a href="http://www.cppblog.com/lovedday/archive/2008/03/18/44770.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>D3D中的纹理映射</title><link>http://www.cppblog.com/lovedday/archive/2008/03/17/44706.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Mon, 17 Mar 2008 09:50:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/03/17/44706.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/44706.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/03/17/44706.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/44706.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/44706.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 纹理映射是一种允许我们为三角形赋予图象数据的技术；这让我们能够更细腻更真实地表现我们的场景。例如，我们能够创建一个立方体并且通过对它的每个面创建一个纹理来把它变成一个木箱（如图6.1）。<br><br>在Direct3D中一个纹理是通过IDirect3DTexture9接口来表现的，一个纹理是一个类似像素矩阵的表面它能够被映射到三角形上。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/03/17/44706.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/44706.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-03-17 17:50 <a href="http://www.cppblog.com/lovedday/archive/2008/03/17/44706.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>D3D中的光照</title><link>http://www.cppblog.com/lovedday/archive/2008/03/16/44633.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Sun, 16 Mar 2008 12:47:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/03/16/44633.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/44633.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/03/16/44633.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/44633.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/44633.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 为了提高场景的真实性，我们可以为其加入灯光。灯光也能帮助表现物体的立体感以及物体的实体形状。当使用灯光时，我们不再自己指定顶点的颜色； Direct3D中每个顶点都通过灯光引擎来计算顶点颜色，该计算是基于定义的灯光资源，材质以及灯光资源关心的表面方向。通过灯光模型计算顶点颜色会得到更真实的场景。  &nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/03/16/44633.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/44633.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-03-16 20:47 <a href="http://www.cppblog.com/lovedday/archive/2008/03/16/44633.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>D3D中的颜色</title><link>http://www.cppblog.com/lovedday/archive/2008/03/16/44598.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Sun, 16 Mar 2008 02:28:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/03/16/44598.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/44598.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/03/16/44598.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/44598.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/44598.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在Direct3D中，颜色是使用RGB三部分来描述的。也就是说，我们要分别指定红、绿和蓝三种颜色的值。混合这三个颜色决定最终的颜色。利用这三种颜色我们能够表现数万种颜色。<br><br>我们使用两种不同的结构来存储RGB数据。这第一种是D3DCOLOR，它实际上是一个DWORD类型即32位。在D3DCOLOR类型中的这些位按照8-bit被分为4个部分，每一部分存储的是该色的亮度值。如图4.1所示。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/03/16/44598.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/44598.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-03-16 10:28 <a href="http://www.cppblog.com/lovedday/archive/2008/03/16/44598.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Direct3D中的绘制</title><link>http://www.cppblog.com/lovedday/archive/2008/03/14/44517.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Fri, 14 Mar 2008 10:54:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/03/14/44517.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/44517.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/03/14/44517.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/44517.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/44517.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 顶点和索引缓存有相似的接口并且共享相似的方法；因此我们把它们合在一起讲解。一个顶点缓存是一块连续的存储了顶点数据的内存。同样的，一个索引缓存是一块连续的存储了索引数据的内存。我们使用顶点和索引缓存保存我们的数据是因为它们能被放置在显存中。渲染显存中的数据要比渲染系统内存中的数据快的多。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/03/14/44517.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/44517.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-03-14 18:54 <a href="http://www.cppblog.com/lovedday/archive/2008/03/14/44517.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>绘制流水线</title><link>http://www.cppblog.com/lovedday/archive/2008/03/14/44421.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Fri, 14 Mar 2008 01:44:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/03/14/44421.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/44421.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/03/14/44421.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/44421.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/44421.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这次主题是渲染管线。它是用来创建为3D世界进行几何描述的2D图形并设定一个虚拟照相机确定这个世界中哪一部分将被透视投影到屏幕上。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/03/14/44421.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/44421.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-03-14 09:44 <a href="http://www.cppblog.com/lovedday/archive/2008/03/14/44421.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>初始化Direct3D</title><link>http://www.cppblog.com/lovedday/archive/2008/03/13/44364.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Thu, 13 Mar 2008 05:38:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/03/13/44364.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/44364.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/03/13/44364.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/44364.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/44364.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Direct3D是一种低层图形API，它能让我们利用3D硬件加速来渲染3D世界。我们可以把Direct3D看作是应用程序和图形设备之间的中介。例如通知图形设备清空屏幕，应用程序将调用Direct3D的IDirect3DDevice9::Clear方法。图1.1显示了应用程序、 Direct3D和图形设备之间的关系。<br>&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/03/13/44364.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/44364.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-03-13 13:38 <a href="http://www.cppblog.com/lovedday/archive/2008/03/13/44364.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>D3D编程必备的数学知识</title><link>http://www.cppblog.com/lovedday/archive/2008/03/12/44269.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Wed, 12 Mar 2008 06:05:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/03/12/44269.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/44269.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/03/12/44269.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/44269.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/44269.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 几何学中，我们用有向线段表示向量，如图1。向量的两个属性是他的长度和他的顶点所指的方向。因此，可以用向量来模拟既有大小又有方向的物理模型。例如，以后我们要实现的粒子系统。我们用向量来模拟粒子的速度和加速度。在3D计算机图形学中我们用向量不仅仅模拟方向。例如我们常常想知道光线的照射方向，以及在3D世界中的摄象机。向量为在3维空间中表示方向的提供了方便。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/03/12/44269.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/44269.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-03-12 14:05 <a href="http://www.cppblog.com/lovedday/archive/2008/03/12/44269.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>