//Direct3D 9.0 SDK 開發(fā)參考Direct3D 9.0 SDK 文檔 (中文版)
詞匯表
DirectX 8 教程
你也可以把 COM 對象就想象成一套為某個主題而設計的一整套庫函數(shù)。DX 就提供了一套完整的設計3D游戲的庫。
http://baike.baidu.com/view/1169027.htm
使用DirectX的不同組件,你需要鏈接不同的靜態(tài)庫。例如你要使用DirectDraw組件,你就需要ddraw.lib。
對于DirectDraw,這個頭文件是ddraw.h。//com編程
D3D.H
http://wowe1314.blog.163.com/blog/static/2358876200751191213583/
在Direct3D編程中,我們要做的工作基本上可以歸納為:
調(diào)用適當?shù)暮瘮?shù)獲取接口指針;
調(diào)用接口的方法(成員函數(shù))來完成所需功能;
用完接口后,調(diào)用Release方法進行“釋放”,注意釋放順序應該和獲取它們的順序相反。
http://www.lihuasoft.net/article/show.php?id=2928
Microsoft_DirectX_9.0c里的 9個DirectX的DLL
DX9和DX10在渲染流水線上都是有天壤之別的,好在DX高版本開發(fā)包運行庫中包含了對低版本開發(fā)包運行庫的實現(xiàn),所以用DX8開發(fā)的程序,DX9運行庫也能夠很好的支持,在安裝有D9運行庫的系統(tǒng)上跑DX8開發(fā)的程序不需要再安裝DX8運行庫,但是這個兼容性支持在最近被微軟逐漸放棄,有時候DX9的不同更新版本做的程序也不能向下兼容,比如DX9FEB2007SDK,同DX9AUG2006SDK在shader編譯規(guī)則上也是不同的,2007放棄了VS2.0和PS2.0以下版本shader的支持,同時對于HLSL中#include相對路徑引用的默認根目錄也是有區(qū)別的.openGL的shader擴展不同的廠商有不同的擴展開發(fā)包,但是這種情況隨著GLSL和openGL2.0的出現(xiàn)有所改觀.同時OpenGL是跨平臺的而DX不是,這意味著用OpenGL和GNU C++規(guī)則開發(fā)的程序可以同時在Linux,unix和安裝有GNU環(huán)境的Windows上同時運行。從效率上來看,DX由于數(shù)據(jù)時批量寫入顯存的,同OpenGL的單條函數(shù)寫入來講DX效率上要高一些,不過近來OpenGL也支持了批寫入,只是支持批寫入的OpenGL放棄了openGL一慣的優(yōu)勢也就是語言架構(gòu)上的簡潔使得函數(shù)的數(shù)目變得很冗雜。在效果上看DX9同支持GLSL或CG擴展的openGL可以實現(xiàn)相同的顯示效果。但是有一點不同是DXUT和D3DX在一些基礎(chǔ)繪制上比glu和openGL ARB Extend要差一點,比如繪制虛線,DX沒有好的函數(shù)可以是實現(xiàn)這一功能。但是DX的擴展工具比openGL擴展工具又有多余的優(yōu)勢比如向量計算,GUI控件,mesh優(yōu)化和曲面展開,PRT預計算等等和性能測試等等上又要強一點。DX10同OpenGL比較就感覺openGL不是同一個數(shù)量級上的產(chǎn)品,DX10在渲染流水線和架構(gòu)上和能夠?qū)崿F(xiàn)的效果上要比DX9和openGL進步的多。要做面向未來的游戲產(chǎn)品盡量還是用DX10吧。
LPDIRECT3D9 D3D主接口
LPDIRECT3DDEVICE9 D3D硬件主接口
LPDZRECT3DVERTXBUFFER9 頂點緩沖區(qū)接口
LPD3DVIEWPORT9 視口接口
LPD3DDISPLAYMODE D3D設備顯示模式接口
LPD3DPRESENT_PARAMETERS 創(chuàng)建結(jié)構(gòu)用來保存設備的顯示模式接口
LPD3DXVECTOR3 3D向量接口
LPDIRECT3DTEXTURE9 紋理接口
ID3DXSprite 精靈接口
g.pvb 成員函數(shù)
g_pD3D 成員函數(shù)
g_pD3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT,&d3ddm) 獲取顯示模式
g_pd3dDevice 成員函數(shù)
g_pd3dDevice->SetRenderState(,BOOL) 是否開啟燈光
g_pd3dDevice->SetTransform( D3DTS_WORLD, &(matWorld * matWorld_x));//將上面計算出來的旋轉(zhuǎn)矩陣,設置為世界變換矩陣
g_pd3dDevice->SetStreamSource( 0, g_pVB, 0, sizeof(CUSTOMVERTEX) );寫入流
g_pd3dDevice->SetFVF() 設置FVF
g_pd3dDevice->DrawIndexedPrimitive( 畫形狀, 0, 0, 點個數(shù), 0, 三角形個數(shù) ); 畫
timeGetTime 當前系統(tǒng)的時間
DIRECT3DTXTURE 文理接口
BITMAPPEILEHEADER 文件頭
BITMAPINFOHEADER 信息頭
fread 讀一個數(shù)據(jù)塊
biBitcout 每個象素占幾個字節(jié)
bicompression 是否被壓縮
fseek 跳,偏移指針
greatetxture 創(chuàng)建一個空文理
D3Dcaked_RECT 鎖定結(jié)構(gòu)體
setTexturestagestata 設置文理操作
CONSTD3DMATRIX* 進行變換的變換矩陣
結(jié)構(gòu)體
D3DPRESENT_PARAMETERS 存儲D3D設備信息
D3DXMATRIX 修改矩陣
數(shù)組
CUSTOMVERTEX 設置頂點位置顏色信息
矩陣函數(shù)
D3DXMATRIX * D3DXMatrixIdentity(POut,pM) 單位矩陣
D3DXMATRIX * D3DXMatrixTranspose(上) 矩陣轉(zhuǎn)置
D3DXMATRIX * D3DXMatrixInverse(上中間加個FLOAT) 逆矩陣
D3DXMATRIX * D3DXMatrixTransformation()
D3DXMATRIX* D3DXMatrixTranslation(輸出矩陣,X,Y,Z) 平移變換
D3DXMATRIX * D3DXMatrixScaling(上) 縮放變換
FLOAT D3DXPlaneDotCoord(pp,pv) 點和平面之見的關(guān)系
D3DXPLANE * D3DXPlaneFromPointNormal(POUT,PPOINT,PNORMAL) 構(gòu)造子
D3DXPLANE * D3DXPlaneFromPoints(Pout,pv1,pv2,pv3) 通過點來描述平面
D3DXPLANE * D3DPlaneNormalize(POUT,PP) 標準化一個平面
D3DXPLANE * D3DXPlaneTransform(POUT,PP,PM) 平移平面
D3DXM
轉(zhuǎn)換函數(shù)
D3DXMATRIX* D3DXMatrixLookAtLH(輸出用于視圖轉(zhuǎn)換的矩陣,攝象機的位置,攝象機面向的位置,攝象機的正方向) 視圖轉(zhuǎn)換的矩陣
D3DXMATRIX* D3DXMatrixOrthoLH(輸出用于正交投影的交換矩陣,取景寬,取景高,取景離攝象機的最近距離,取景離攝象機的最遠距離) 正交投影變換矩陣
D3DXMATRIX* D3DXMatrixPerspectiveFovLH(輸出用于透視投影的交換矩陣,攝象機鏡頭的夾角Y,平截臺體的縱橫比,近平截面的距離,遠平截面的距離) 透視投影的矩陣
Direct3DCreate9(D3D版本) 創(chuàng)建D3D對象
設備函數(shù)
SetTransform(變換的類型,變換的變換矩陣) 設置左手或右手坐標
SetViewport(視口指針) 設置遠近距離
GetClientRect(hWnd,*RECT) 獲取窗口繪圖區(qū)域
memcpy(指針,數(shù)組,長度) 拷貝
SetStreamSource(0,G.pvb接口指針,0,長度) 數(shù)據(jù)流
GetAdapterDisplayMode(指定顯示卡序列號,存儲顯示模式的指針) 獲取顯卡的模式
HRESULT CreateDevice(顯卡序列號,D3D設備類型,所屬窗口句柄,D3D進行3D運算,存儲D3D設備相關(guān)信息指針,返回D3D設備借口指針的地址) 創(chuàng)建設備借口
HRESULT CreateVertexBuffer(頂點緩沖區(qū)大小(字節(jié)),頂點緩沖區(qū)屬性,靈活頂點格式,頂點緩沖區(qū)內(nèi)存位置,頂點緩沖區(qū)指針地址,保留參數(shù)通常為0) 創(chuàng)建頂點緩沖
HRESULT CreateIndexBuffer(索引緩沖區(qū)大小(字節(jié)),頂點緩沖區(qū)屬性,FMT顏色,頂點緩沖區(qū)內(nèi)存位置,索引緩沖區(qū)指針地址,保留參數(shù)通常為0) 創(chuàng)建索引緩沖
HRESULT Lock(加鎖內(nèi)存起始地址,加鎖內(nèi)存大小,返回內(nèi)存指針地址,加鎖屬性) 加縮內(nèi)存
HRESULT UnLock() 解鎖
HRESULT SetStreamSource(渲染數(shù)據(jù)流序列號,進行綁定連接的頂點緩沖區(qū)指針,進行綁定連接渲染數(shù)據(jù)流的起始位置,渲染數(shù)據(jù)流中一個頂點所占的內(nèi)存大小) 頂點緩沖區(qū)和渲染數(shù)據(jù)流連接
HRESULT SetFVF(靈活頂點格式) 設置頂點格式
HRESULT DrawPrimitive(繪制的圖元類型,繪制的開始頂點的索引值,繪制的圖元數(shù)量) 畫到后向緩沖區(qū)
HRESULT DrawPrimitiveup() 可以直接畫
HRESULT Preesent(復制源的矩形區(qū)域指針,復制目的地的矩形區(qū)域指針,D3D設備窗口句柄,最小更新區(qū)域指針) 屏幕翻轉(zhuǎn)
HRESULT SetIndices(使用的索引緩沖區(qū)指針) 設置當前繪制的索引數(shù)組
DrawIndexedPrimitive(圖元類型,繪制到的索引緩沖區(qū)的開始地址,最小的索引數(shù)組元素的值,頂點的數(shù)目,開始的索引數(shù)組元素的值,繪制的數(shù)量) 同DrawPrimitive()
繪制函數(shù)
HRESULT DrawPrimitive(基本圖元類型,起始頂點,繪制的圖元的數(shù)量) 圖元繪制
HRESULT Clear(清楚的矩形區(qū)域數(shù)量,清除的舉行區(qū)域數(shù)組指針,清楚哪個緩沖區(qū),清除后重置的顏色,清除后重置的深度,0-1.0,重置的摸版值) 清空圖形繪制區(qū)
HRESULT BeginScene() 開始繪制
HRESULT EndScene() 結(jié)束繪制
紋理函數(shù)
CreateTexture() 創(chuàng)建D3D紋理對象
LoadBmpTeture() 裝載文理函數(shù)
LoadBmpTexture24Bit (LPDIRECT3DDEVICE9 pDevice,LPCSTR pSrcFile,LPDIRECT3DTEXTURE9* ppTexture) 24位紋理
D3DXCreateTextureFromFile(D3D設備指針,紋理圖形文件,存儲D3D文理的指針地址) 直接從磁盤獲取紋理
D3DXCreateTextureFromFileEx(D3D設備指針,紋理圖形文件,指定紋理寬,高,指定漸進紋理序列級數(shù),紋理使用方式一般為0,指定紋理圖形格式,紋理存放的內(nèi)存類型一般位為0,紋理過濾方式,自動生成的紋理序列過濾方式,設置透明色,圖形文件信息存放地址可設置0,調(diào)色板存儲地址,創(chuàng)建的D3D文理的指針地址) 高級獲取紋理
HRESULT SetTexture(多級紋理的索引0-7,D3D的紋理接口指針) 設置當前要渲染的紋理
HRESULT SetTextureStageState(多級紋理的索引,紋理渲染狀態(tài)的類型,紋理渲染狀態(tài)的值,與類型相對應) 設置紋理的渲染狀態(tài)
HRESULT SetSamplerState(指定紋理屬性0-7,紋理采樣屬性類型,設置紋理采樣屬性) 紋理采樣
HRESULT CheckDeviceFormat(指定顯卡序列號,D3D設備類型,指定顯示模式格式,緩沖區(qū)屬性,需要使用查詢的格式的設備類型,需要查詢的顯示格式) 紋理壓縮
HRESULT LockRect(指定加鎖的紋理級別,指向D3DLOCKED_RECT結(jié)構(gòu),要加鎖的RECT區(qū)域-0代表整個區(qū)域,加鎖類型-取0或下表的值) 鎖定紋理
HRESULT UnlockRect(解鎖的紋理級別) 解鎖紋理
向量函數(shù)
D3DXVECTOR3 * D3DXVer3Length(V) 向量模的計算
D3DXVECTOR3 * D3DXVec3Normalize(返回指針,V) 單位化
D3DXVECTOR3 * D3DXVec3Add(返回的指針,u,v) 向量加法
D3DXVECTOR3 * D3DXVec3Subtract(同上) 減法
D3DXVECTOR3 * D3DXVec3Cross(同上) 向量X乘
D3DXVECTOR3 * D3DXVec3Lerp(同上) 數(shù)乘
D3DXVECTOR3 * D3DXVec3Maximize(同上) 取最大值
D3DXVECTOR3 * D3DXVec3Minimize(同上) 取最小值
D3DXVECTOR3 * D3DXVec3Scale(返回指針,PV,F(xiàn)LOAT) 比例
FLOAT D3DXVec3Dot(pv1,pv2) 點乘
參見編程精粹.chm中的COM中模塊的導出函數(shù)
Private Type D3DVECTOR
x As Single
y As Single
z As Single
End Type
'返回3D向量的規(guī)格化向量
Private Declare Function D3DXVec3Normalize Lib "DX8VB.DLL" Alias "VB_D3DXVec3Normalize" (VOut As D3DVECTOR, v As D3DVECTOR) As Long
Private Declare Function D3DXVec3Add Lib "DX8VB.DLL" Alias "VB_D3DXVec3Add" (VOut As D3DVECTOR, v1 As D3DVECTOR, V2 As D3DVECTOR) As Long
Private Declare Function D3DXVec3Subtract Lib "DX8VB.DLL" Alias "VB_D3DXVec3Subtract" (VOut As D3DVECTOR, v1 As D3DVECTOR, V2 As D3DVECTOR) As Long
Private Declare Function D3DXVec3Length Lib "DX8VB.DLL" Alias "VB_D3DXVec3Length" (v As D3DVECTOR) As Single
D3DFVF 自由頂點的格式
D3DFVF_DIFFUSE 包含謾反射的信息
D3DFVF_NORMAL 包含法線信息
D3DFVF_PSIZE 頂點信息指明繪制點的大小
D3DFVF_SPECULAR 包含鏡面反射的信息
D3DFVF_XYZ 包含未經(jīng)轉(zhuǎn)換的頂點坐標
D3DFVF_XYZRHW 包含經(jīng)過轉(zhuǎn)換的頂點坐標
D3DFVF_XYZB1 through D3DFVF_XYZB5 包含用于骨骼動化的頂點和頂點對骨骼的權(quán)重信息
D3DFVF_XYZW 包含經(jīng)過轉(zhuǎn)換和裁剪的頂點坐標
D3DTRANSFORMSTATETYPE 變換的類型
D3DPRIMITIVETYPE 定義基本圖元
D3DPT_POINTLIST 一組點的集合
D3DPT_LINELIST 一組線的集合
D3DPT_LINESTRIP 首尾相連的線段的集合
D3DPT_TRIANGLELIST 一組三角形的集合
D3DPT_TRIANGLESTRIP 首尾相連的三角形,有兩個頂點集合
D3DPT_TRIANGLEFAN 組成扇形的一組三角形集合
D3DPT_FORCE_DWORD 未定義的
D3DDISPLAYMODE 屏幕顯示模式
D3DFMT_UNKNOWN 未知的象素格式
D3DFMT_R8G8B8 24位色,RGB各占8位
D3DFMT_A8R8G8B8 32位色,@RGB各占8位
D3DFMT_X8R8G8B8 32位色,X為保留8位 RGB各占8位
D3DFMT_R5G6B5 16位色,R占5,G占6,B占5位
D3DFMT_X1R5G5B5 16位色,保留1位,RGB各占5位
D3DFMT_A1R5G5B5 16位色,@占1位,RG5各占5位
D3DFMT_A4R4G4B4 16位色,@RGB各占4位
D3DFMT_R3G3B2 8位色,R3,G3,B2位
D3DFMT_A8 只有8位@
D3DFMT_A8R3G3B2 16位色,@8,R3,G3,B2位
D3DFMT_X4R4G4B4 16位色
D3DFMT_A2B10G10R10 32位色,@占2位,RGB各10位
D3DFMT_A8B8G8R8 32位色
D3DFMT_X8B8G8R8 32位色
D3DFMT_G16R16 32位色,只有紅和綠
D3DFMT_A2R10G10B10 32位色
D3DFMT_A16B16G16R16 64位色
D3DFMT_A8P8 8位色,8位表示半透明,8位表示顏色
D3DFMT_P8 8位色,用牙色索引值表示
D3DFMT_L8 8位色,只表示亮度
D3DFMT_L16 16位色,只表示亮度
D3DFMT_A8L8 16位色,8位表示半透明,8位表示亮度
D3DFMT_A4L4 8位色,4位表示半透明,4位表示亮度
D3DDEVTYPE_HAL 硬件抽象層,通過顯示硬件來完成圖形渲染工作
D3DDEVTYPE_NULLREF
D3DDEVTYPE_REF 參考光柵器,一般用語測試顯示卡不支持的D3D功能
D3DDEVTYPE_SW 用語支持第三方的軟件
D3DDEVTYPE_FORCE_DWORD 擴展的
D3DCREATE 3D運算的方式
D3DCREATE_ADAPTERGROUP_DEVICE
D3DCREATE_DISABLE_DRIVER_MANAGEMENT
D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX
D3DCREATE_FPU_PRESERVE 激活雙精度浮點運算或浮點運算異常檢測,設置該項會降低系統(tǒng)性能
D3DCREATE_HARDWARE_VERTEXPROCESSING 由D3D硬件進行頂點預算
D3DCREATE_MIXED_VERTEXPROCESSING 由混合方式進行頂點運算
D3DCREATE_MULTITHREADED 支持多線程繪制,設置該項會降低系統(tǒng)性能
D3DCREATE_NOWINDOWCHANGES
D3DCREATE_PUREDEVICE 禁用D3D的GET*()函數(shù),禁止D3D使用虛擬設備模擬頂點運算
D3DCREATE_SCREENSAVER
D3DCREATE_SOFTWARE_VERTEXPROCESSING 由D3D軟件進行頂點運算
D3DSWAPEFFECT 取值列表
D3DSWAPEFFECT_DISCARD 后臺緩沖區(qū)復制到前臺時,清除后臺緩沖區(qū)內(nèi)容
D3DSWAPEFFECT_FLIP 后臺緩沖區(qū)內(nèi)容復制后,保持不變,有多個后臺緩沖區(qū)時使用
D3DSWAPEFFECT_COPY 后臺緩沖區(qū)內(nèi)容復制后,保持不變,只有1個后臺緩沖區(qū)時使用
D3DSWAPEFFECT_FORCE_DWORD 強迫該直作為32位存儲,通常不用
D3DPRESENT 屏幕反轉(zhuǎn)模式列表
D3DPRESENT_DONOTWAIT
D3DPRESENT_INTERVAL_DEFAULT 默認的同ONE
D3DPRESENT_INTERVAL_ONE 當屏幕刷新一次時前臺后臺進行交換
D3DPRESENT_INTERVAL_TWO 當屏幕刷新二次時前臺后臺進行交換
D3DPRESENT_INTERVAL_THREE 當屏幕刷新三次時前臺后臺進行交換
D3DPRESENT_INTERVAL_FOUR 當屏幕刷新四次時前臺后臺進行交換
D3DPRESENT_INTERVAL_IMMEDIATE 圖形繪制完成時立即進行交換
D3DPRESENT_LINEAR_CONTENT
D3DUSAGE 緩沖區(qū)屬性值列表
D3DUSAGE_AUTOGENMIPMAP
D3DUSAGE_DEPTHSTENCIL
D3DUSAGE_DMAP
D3DUSAGE_DONOTCLIP 禁用裁剪,表示頂點緩沖區(qū)中的頂點不進行裁剪,當設置該屬性時,渲染狀態(tài)D3DRS_CLIPPING必須設為FALSE
D3DUSAGE_DYNAMIC 使用動態(tài)內(nèi)存分配
D3DUSAGE_NPATCHES 使用頂點緩沖區(qū)繪制N-patches曲線
D3DUSAGE_POINTS 使用頂點緩沖區(qū)繪制點
D3DUSAGE_RENDERTARGET
D3DUSAGE_RTPATCHES 使用頂點緩沖區(qū)繪制曲線
D3DUSAGE_SOFTWAREPROCESSING 使用軟件進行頂點運算,否則使用硬件計算
D3DUSAGE_WRITEONLY 只寫屬性,不能進行讀操作,設置該屬性可以提高系統(tǒng)性能
D3DPOOL 緩沖區(qū)資源內(nèi)存位置列表
D3DPOOL_DEFAULT 默認的,頂點緩沖區(qū)盡可能存在與顯存中
D3DPOOL_MANAGED 由D3D自動調(diào)度頂點緩沖區(qū)內(nèi)存位置(顯存和內(nèi)存)
D3DPOOL_SCRATCH 頂點緩沖區(qū)位于計算機的臨時內(nèi)存中,這種類型的頂點緩沖區(qū)不能直接進行渲染,只能進行內(nèi)存枷鎖,拷貝等操作
D3DPOOL_SYSTEMMEM 頂點緩沖區(qū)位于內(nèi)存中
D3DLOCK 緩沖區(qū)加鎖
D3DLOCK_DISCARD 更新整個緩沖區(qū)
D3DLOCK_DONOTWAIT
D3DLOCK_NO_DIRTY_UPDATE 在加鎖的過程中系統(tǒng)進行其他操作(默認有Dirty標記)
D3DLOCK_NOOVERWRITE 保證不腹稿緩沖區(qū)數(shù)據(jù),設置該屬性可以立即返回內(nèi)存指針,提高系統(tǒng)性能
D3DLOCK_NOSYSLOCK 在加鎖的過程中系統(tǒng)可能執(zhí)行其他操作
D3DLOCK_READONLY 設置緩沖區(qū)位只讀屬性
D3DXVECTOR3 向量算法
D3DXVECTOR3u(x,y,z);
D3DXVECTOR3v(x,y,z);
float 變量=D3DXVec3Dot(u指針,v指針) 點乘
D3DXMATRIX 矩陣
D3DXMatrixIdentity 單位矩陣
D3DXMatrixInverse 逆矩陣
D3D實現(xiàn)圖形變換
D3DXMatrixTranslation 平移矩陣
D3DXMatrixLockAtLH 觀察矩陣
D3DXMatrixIdentity 將一個矩陣單位化
D3DXMatrixRotationY 繞Y軸轉(zhuǎn)
D3DXMatrixRotationX 繞X軸轉(zhuǎn)
D3DXMatrixRotationZ 繞Z軸轉(zhuǎn)
D3DXMatrixScaling 縮放變換
D3DXMatrixMuLationAxis 圍繞任意一個軸旋轉(zhuǎn)
D3DXMatrixMultiply 組合變換
D3DUSAGE 紋理使用
D3DUSAGE_AUTOGENMIPMAP 自動生成多級漸進紋理序列,該方式在資源處于D3DPOOL_SYSTEMMEM時無效
D3DUSAGE_DEPTHSTENCIL 深度模版緩沖區(qū),只在資源處于D3DPOOL_default時有效
D3DUSAGE_DMAP 該紋理是一個置換紋理
D3DUSAGE_DONOTCLIP
D3DUSAGE_DYNAMIC
D3DUSAGE_NPATCHES
D3DUSAGE_POINTS
D3DUSAGE_RENDERTARGET 該文理是一個渲染目標緩沖區(qū)
D3DUSAGE_RTPATCHES
D3DUSAGE_SOFTWAREPROCESSING 應用坐標變換
D3DUSAGE_WRITEONLY
D3DTEXTURESTAGESTATETYPE 渲染狀態(tài)類型
D3DTSS_COLOROP 1 文理層的顏色混合方式
D3DTSS_COLORARG1 2 顏色混合的第一個參數(shù)
D3DTSS_COLORARG2 3 顏色混合的第二個參數(shù)
D3DTSS_ALPHAOP 4 指定紋理層的Alpha透明
D3DTSS_ALPHAARG1 5 Alpha混合的第一個參數(shù)
D3DTSS_ALPHAARG2 6 Alpha混合的第二個參數(shù)
D3DTSS_BUMPENVMAT00 7 繪制凹凸紋理時
D3DTSS_BUMPENVMAT01 8 繪制凹凸紋理時
D3DTSS_BUMPENVMAT10 9 繪制凹凸紋理時
D3DTSS_BUMPENVMAT11 10 繪制凹凸紋理時
D3DTSS_TEXCOORDINDEX 11 該紋理層使用的紋理坐標的索引
D3DTSS_BUMPENVLSCALE 22 繪制凹凸紋理的縮放參數(shù)
D3DTSS_BUMPENVLOFFSET 23 繪制凹凸紋理的平移參數(shù)
D3DTSS_TEXTURETRANSFORMFLAGS 24 控制紋理坐標的轉(zhuǎn)換標志
D3DTSS_COLORARG0 26 指定混合過程的第三個顏色
D3DTSS_ALPHAARG0 27 Alpha混合的第三個參數(shù)
D3DTSS_RESULTARG 28 顏色混合的結(jié)果輸出寄存器
D3DTSS_CONSTANT 32 顏色混合的常量寄存器
D3DTSS_FORCE_DWORD 0x7fffffff 強制轉(zhuǎn)換為32位,通常不用
D3DSAMPLERSTATETYPE 紋理采樣屬性
D3DSAMP_ADDRESSU 1 包裝紋理
D3DSAMP_ADDRESSV 2 包裝紋理
D3DSAMP_ADDRESSW 3 包裝紋理
D3DSAMP_BORDERCOLOR 4
D3DSAMP_MAGFILTER 5 處理放大過濾
D3DSAMP_MINFILTER 6 處理縮小過濾
D3DSAMP_MIPFILTER 7 多紋理過濾
D3DSAMP_MIPMAPLODBIAS 8 多級文理級數(shù)偏移值,初試直為0
D3DSAMP_MAXMIPLEVEL 9 最大多紋理級別,初試值為0
D3DSAMP_MAXANISOTROPY 10 各向異性,初試值為1
D3DSAMP_SRGBTEXTURE 11
D3DSAMP_ELEMENTINDEX 12
D3DSAMP_DMAPOFFSET 13
D3DSAMP_FORCE_DWORD 0x7fffffff 強制轉(zhuǎn)換32位,通常不用
紋理尋址
D3DTADDRESS_WRAP 1 包裝紋理尋址
D3DTADDRESS_MIRROR 2 鏡像紋理尋址
D3DTADDRESS_CLAMP 3 夾取紋理尋址
D3DTADDRESS_BORDER 4 邊框顏色紋理尋址
D3DTADDRESS_MIRRORONCE 5 一次鏡像紋理尋址
D3DTADDRESS_FORCE_DWORD 0x7fffffff強制轉(zhuǎn)換32位,通常不用
世界變換
D3DTS_WORLD 世界變換