Direct3D (DirectX 9.0) Code Samples&nbsp














Direct3D (DirectX 9.0) Code Samples 的图1 Direct3D (DirectX 9.0) Code Samples 的图2 Direct3D (DirectX 9.0) Code Samples 的图3
Direct3D (DirectX 9.0) Code Samples 的图4





Particle System (Using Point Sprites)

Adding a particle system to your game engine has become all the rage, but where do you start? Here of course! This sample demonstrates how to create a particle system class which uses Direct3D's hardware accelerated point sprites. To learn more about point sprites, check out the Point Sprites sample above. Check out the OpenGL source code page for the OpenGL equivalent of this sample.


Direct3D (DirectX 9.0) Code Samples 的图5


Direct3D (DirectX 9.0) Code Samples 的图7
Direct3D (DirectX 9.0) Code Samples 的图8 Direct3D (DirectX 9.0) Code Samples 的图9 Direct3D (DirectX 9.0) Code Samples 的图10
















Direct3D (DirectX 9.0) Code Samples 的图11 Direct3D (DirectX 9.0) Code Samples 的图12 Direct3D (DirectX 9.0) Code Samples 的图13
Direct3D (DirectX 9.0) Code Samples 的图14





Off-screen Rendering

This code sample demonstrate how to create dynamic textures through the use of an off-screen rendering surface under Direct3D. Check out the OpenGL source code page for the OpenGL equivalent of this sample.


Relevant Keywords: D3DXCreateRenderToSurface, D3DXCreateTexture, D3DXMatrixRotationYawPitchRoll, LPD3DXRENDERTOSURFACE, LPDIRECT3DTEXTURE9, and LPDIRECT3DSURFACE9.


Direct3D (DirectX 9.0) Code Samples 的图15


Direct3D (DirectX 9.0) Code Samples 的图17
Direct3D (DirectX 9.0) Code Samples 的图18 Direct3D (DirectX 9.0) Code Samples 的图19 Direct3D (DirectX 9.0) Code Samples 的图20
















Direct3D (DirectX 9.0) Code Samples 的图21 Direct3D (DirectX 9.0) Code Samples 的图22 Direct3D (DirectX 9.0) Code Samples 的图23
Direct3D (DirectX 9.0) Code Samples 的图24





Occlusion Query

This sample demonstrates how to use Direct3D new occlusion query feature to find out how many pixels of an object are actually visible. The sample is basically a simplified port of the nVIDIA's OpenGL sample, which covers the same subject. Check out the OpenGL source code page for the OpenGL equivalent of this sample.


Relevant Keywords: CreateQuery, GetData, D3DXCreateSphere, D3DXCreateBox, CloneMeshFVF, GetVertexBuffer, GetNumVertices, D3DQUERYTYPE_OCCLUSION, Issue, D3DISSUE_BEGIN, D3DISSUE_END, and LPDIRECT3DQUERY9.


Direct3D (DirectX 9.0) Code Samples 的图25


Direct3D (DirectX 9.0) Code Samples 的图27
Direct3D (DirectX 9.0) Code Samples 的图28 Direct3D (DirectX 9.0) Code Samples 的图29 Direct3D (DirectX 9.0) Code Samples 的图30
















Direct3D (DirectX 9.0) Code Samples 的图31 Direct3D (DirectX 9.0) Code Samples 的图32 Direct3D (DirectX 9.0) Code Samples 的图33
Direct3D (DirectX 9.0) Code Samples 的图34





Emboss Bump Mapping

These samples demonstrate how to perform one-pass and two-pass emboss bump mapping with Direct3D. I've also included code, which demonstrates how to calculate tangent and binormal vectors on a per-vertex basis. These special vectors define the texture space for each vertex, which allows for accurate texture coordinate shifting during the bump mapping process. Check out the OpenGL source code page for the OpenGL equivalent of these samples.


Relevant Keywords: SetTextureStageState, SetRenderState, SetTexture, D3DXVec3Dot, D3DXVec3Normalize, D3DXMatrixInverse, GetTransform, D3DXCreateSphere, D3DTSS_TEXCOORDINDEX, D3DTSS_COLOROP, D3DTSS_COLORARG1, D3DTSS_COLORARG2, D3DTSS_ALPHAOP, D3DTSS_ALPHAARG1, D3DTSS_ALPHAARG2, D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_DIFFUSE, D3DTOP_SELECTARG1, D3DTA_CURRENT, D3DTOP_ADDSIGNED, D3DTA_COMPLEMENT, D3DTOP_MODULATE2X, D3DTA_ALPHAREPLICATE, D3DTOP_DISABLE, and D3DRS_ALPHABLENDENABLE.


Direct3D (DirectX 9.0) Code Samples 的图35


Direct3D (DirectX 9.0) Code Samples 的图40
Direct3D (DirectX 9.0) Code Samples 的图41 Direct3D (DirectX 9.0) Code Samples 的图42 Direct3D (DirectX 9.0) Code Samples 的图43
















Direct3D (DirectX 9.0) Code Samples 的图44 Direct3D (DirectX 9.0) Code Samples 的图45 Direct3D (DirectX 9.0) Code Samples 的图46
Direct3D (DirectX 9.0) Code Samples 的图47





Shadow Volume

This code sample demonstrates how to create dynamic shadows with Direct3D using a stencil shadow volume. The sample is basically a simplified re-write of the ShadowVolume sample that ships with the DirectX 9 SDK.


Relevant Keywords: GetBackBuffer, SetRenderState, D3DXLoadMeshFromX, GetDeviceCaps, Lock, Unlock, D3DSTENCILCAPS_TWOSIDED, D3DBACKBUFFER_TYPE_MONO, D3DRS_STENCILENABLE, D3DRS_SHADEMODE, D3DRS_STENCILENABLE, D3DRS_STENCILFUNC, D3DRS_STENCILZFAIL, D3DRS_STENCILFAIL, D3DRS_STENCILREF, D3DRS_STENCILMASK, D3DRS_STENCILWRITEMASK, D3DCMP_LESSEQUAL, D3DRS_STENCILPASS, D3DSTENCILOP_KEEP, D3DRS_ZWRITEENABLE, D3DRS_ALPHABLENDENABLE, D3DRS_SRCBLEND, D3DRS_DESTBLEND, D3DBLEND_ZERO, D3DBLEND_ONE, D3DSTENCILOP_KEEP, D3DCMP_ALWAYS, D3DSHADE_FLAT, D3DSTENCILOP_DECR, D3DRS_CULLMODE, D3DCULL_NONE, D3DCULL_CCW, D3DSHADE_GOURAUD, D3DRS_FILLMODE, D3DFILL_WIREFRAME, D3DFILL_SOLID, and StencilCaps.


Direct3D (DirectX 9.0) Code Samples 的图48


Direct3D (DirectX 9.0) Code Samples 的图53
Direct3D (DirectX 9.0) Code Samples 的图54 Direct3D (DirectX 9.0) Code Samples 的图55 Direct3D (DirectX 9.0) Code Samples 的图56
登录后免费查看全文
立即登录
App下载
技术邻APP
工程师必备
  • 项目客服
  • 培训客服
  • 平台客服

TOP