
DirectX
文章平均质量分 75
woaitmac1314
这个作者很懒,什么都没留下…
展开
-
一个用D3D绘制2D图形的例子
一个用D3D绘制2D图形的例子思路如下:(1)函数Do_Init初始化D3D,D3D设备,顶点缓冲,纹理;主要调用这几个函数: Direct3DCreate9,GetAdapterDisplayMode,CreateDevice,CreateVertexBuffer, Lock,Unlock,D3DXCreateTextureFromFile。(2)函数Do_Frame绘制一帧,主要调用这几个函数: Clear,BeginScene,EndScene,SetStreamSourc转载 2011-05-18 12:50:00 · 772 阅读 · 0 评论 -
简单说说IDirect3DDevice9::SetTextureStageState
还是先发DX的文档的记录:IDirect3DDevice9::SetTextureStageStateSets the state value for the currently assigned texture.HRESULT SetTextureStageState( DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value );ParametersStage[in] Stage identifier of the texture for which转载 2011-05-18 13:03:00 · 652 阅读 · 0 评论 -
DirectX9.0教程之ID3DXSprite篇
前言:本教程面向对DriectX 9.0有一定了解的读者,主要讲解DirectX 9.0的各个部分的功能及用法。希望对广大的游戏初学者有一定帮助,也好让本人对中国游戏事业的发展做出一些微不足道的贡献。作者:Fabric(由于本人是广东人,写文章难免参杂粤语写法,请见谅) 简介:ID3DXSprite是DriectX 9.0里面的一个简单模块,在DriectX 9.0帮助文档里面对其功能的描术为:“向用户提供一套简单的在屏幕上实现精灵渲染的接口。”何为精灵渲染,说白了就是渲染2D画面,ID3DXSprite转载 2011-05-18 13:01:00 · 934 阅读 · 0 评论 -
alpha混合原理
alpha混合原理在前面介绍的示例程序中,绘制图形的颜色总是替换当前颜色缓冲区中存在的颜色,这样后面的物体总是覆盖在原有的物体上。但是当想要绘制类似于玻璃、水等具有透明效果的物体时,这种方法显然满足不了要求。通过定义一个表示物体半透明度的alpha值和一个半透明计算公式,可以将要绘制的物体颜色与颜色缓冲区中存在的颜色相混合,从而绘制出具有半透明效果的物体。Direct3D计算alpha颜色混合的方法如下:color = (RGBsrc * Ksrc) OP (RGBdst * Kdst)其中color表示a转载 2011-05-18 13:04:00 · 1107 阅读 · 1 评论 -
D3D中D3DFVF_XYZ和D3DFVF_XYZRHW的区别
学习D3D9的时候遇到灵活顶点格式(FVF)中D3DFVF_XYZRHW和D3DFVF_XYZ之间差异而引起的问题。参看了同是C++博客的一篇博文,其分析如下: The RHW value, which stands for Reciprocal of Homogeneous W[1], tells Direct3D that the vertices that are being used are already in screen coordinates. This value is n原创 2011-05-18 12:58:00 · 403 阅读 · 0 评论 -
DirectX图象中设备支持的原基类型-D3D入门
微软D3D设备能创建和操纵下面初基类型:l 点列表l 线列表l 线带l 三角形列表l 三角形带l 三角形扇区你能用IDirect3DDevice9接口中的任何粉刷方法在C++程序中粉刷原基。1.1.1.1. 点列表一个点列表是一个顶点的集合,这些顶点被作为单独的点来粉刷。你的程序可以在3-D场景中用它们作为在多边形表面上开始字段、点线。下图描述了一个粉刷后的点列表。你的程序能在一个点列表上应用素材和纹理,素转载 2011-05-18 12:59:00 · 364 阅读 · 0 评论 -
《DirectX 游戏开发终极指南》游戏项目编译成功的方法
网上看到很多对游戏编程有兴趣的朋友都在说《DirectX 游戏开发终极指南》这本书的游戏项目无法编译通过,自己研究了一下,上网也看了好多提问,终于摸索出成功编译的方法,希望跟这些朋友一起分享一下,大家一起学习一起进步。下面开始正题:首先,必须在vs2003以上的环境建立工程,因为最新的dxsdk对vc6已经不支持了,而且《DirectX 游戏开发终极指南》游戏项目中要用到的directinput在vc6下也有错误。要编译通过随书附带的游戏项目示例程序,要用早期版本DX9。0c 因为最新版本的DX9已经没有d原创 2011-05-18 13:17:00 · 993 阅读 · 0 评论