| 1 | ' d3dx9shader.sbp
 | 
|---|
| 2 | 
 | 
|---|
| 3 | TypeDef D3DXHANDLE = BytePtr
 | 
|---|
| 4 | 
 | 
|---|
| 5 | 
 | 
|---|
| 6 | Type D3DXMACRO
 | 
|---|
| 7 |     Name As BytePtr
 | 
|---|
| 8 |     Definition As BytePtr
 | 
|---|
| 9 | End Type
 | 
|---|
| 10 | 
 | 
|---|
| 11 | Type D3DXSEMANTIC
 | 
|---|
| 12 |     Usage As DWord
 | 
|---|
| 13 |     UsageIndex As DWord
 | 
|---|
| 14 | End Type
 | 
|---|
| 15 | 
 | 
|---|
| 16 | Type D3DXFRAGMENT_DESC
 | 
|---|
| 17 |     Name As BytePtr
 | 
|---|
| 18 |     Target As DWord
 | 
|---|
| 19 | End Type
 | 
|---|
| 20 | 
 | 
|---|
| 21 | Const Enum D3DXREGISTER_SET
 | 
|---|
| 22 |     D3DXRS_BOOL        = 0
 | 
|---|
| 23 |     D3DXRS_INT4        = 1
 | 
|---|
| 24 |     D3DXRS_FLOAT4      = 2
 | 
|---|
| 25 |     D3DXRS_SAMPLER     = 3
 | 
|---|
| 26 |     D3DXRS_FORCE_DWORD = &H7FFFFFFF
 | 
|---|
| 27 | End Enum
 | 
|---|
| 28 | 
 | 
|---|
| 29 | Const Enum D3DXPARAMETER_CLASS
 | 
|---|
| 30 |     D3DXPC_SCALAR         = 0
 | 
|---|
| 31 |     D3DXPC_VECTOR         = 1
 | 
|---|
| 32 |     D3DXPC_MATRIX_ROWS    = 2
 | 
|---|
| 33 |     D3DXPC_MATRIX_COLUMNS = 3
 | 
|---|
| 34 |     D3DXPC_OBJECT         = 4
 | 
|---|
| 35 |     D3DXPC_STRUCT         = 5
 | 
|---|
| 36 |     D3DXPC_FORCE_DWORD    = &H7FFFFFFF
 | 
|---|
| 37 | End Enum
 | 
|---|
| 38 | 
 | 
|---|
| 39 | Const Enum D3DXPARAMETER_TYPE
 | 
|---|
| 40 |     D3DXPT_VOID           = 0
 | 
|---|
| 41 |     D3DXPT_BOOL           = 1
 | 
|---|
| 42 |     D3DXPT_INT            = 2
 | 
|---|
| 43 |     D3DXPT_FLOAT          = 3
 | 
|---|
| 44 |     D3DXPT_STRING         = 4
 | 
|---|
| 45 |     D3DXPT_TEXTURE        = 5
 | 
|---|
| 46 |     D3DXPT_TEXTURE1D      = 6
 | 
|---|
| 47 |     D3DXPT_TEXTURE2D      = 7
 | 
|---|
| 48 |     D3DXPT_TEXTURE3D      = 8
 | 
|---|
| 49 |     D3DXPT_TEXTURECUBE    = 9
 | 
|---|
| 50 |     D3DXPT_SAMPLER        = 10
 | 
|---|
| 51 |     D3DXPT_SAMPLER1D      = 11
 | 
|---|
| 52 |     D3DXPT_SAMPLER2D      = 12
 | 
|---|
| 53 |     D3DXPT_SAMPLER3D      = 13
 | 
|---|
| 54 |     D3DXPT_SAMPLERCUBE    = 14
 | 
|---|
| 55 |     D3DXPT_PIXELSHADER    = 15
 | 
|---|
| 56 |     D3DXPT_VERTEXSHADER   = 16
 | 
|---|
| 57 |     D3DXPT_PIXELFRAGMENT  = 17
 | 
|---|
| 58 |     D3DXPT_VERTEXFRAGMENT = 18
 | 
|---|
| 59 |     D3DXPT_FORCE_DWORD    = &H7FFFFFFF
 | 
|---|
| 60 | End Enum
 | 
|---|
| 61 | 
 | 
|---|
| 62 | Type D3DXCONSTANTTABLE_DESC
 | 
|---|
| 63 |     Creator As BytePtr
 | 
|---|
| 64 |     Version As DWord
 | 
|---|
| 65 |     Constants As DWord
 | 
|---|
| 66 | End Type
 | 
|---|
| 67 | 
 | 
|---|
| 68 | Type D3DXCONSTANT_DESC
 | 
|---|
| 69 |     Name As BytePtr
 | 
|---|
| 70 |     RegisterSet As D3DXREGISTER_SET
 | 
|---|
| 71 |     RegisterIndex As DWord
 | 
|---|
| 72 |     RegisterCount As DWord
 | 
|---|
| 73 |     Class_ As D3DXPARAMETER_CLASS
 | 
|---|
| 74 |     Type_ As D3DXPARAMETER_TYPE
 | 
|---|
| 75 |     Rows As DWord
 | 
|---|
| 76 |     Columns As DWord
 | 
|---|
| 77 |     Elements As DWord
 | 
|---|
| 78 |     StructMembers As DWord
 | 
|---|
| 79 |     Bytes As DWord
 | 
|---|
| 80 |     DefaultValue As VoidPtr
 | 
|---|
| 81 | End Type
 | 
|---|
| 82 | 
 | 
|---|
| 83 | 
 | 
|---|
| 84 | Class ID3DXConstantTable
 | 
|---|
| 85 |     Inherits IUnknown
 | 
|---|
| 86 | Public
 | 
|---|
| 87 |     'Buffer
 | 
|---|
| 88 |     Abstract Function GetBufferPointer() As VoidPtr
 | 
|---|
| 89 |     Abstract Function GetBufferSize() As DWord
 | 
|---|
| 90 | 
 | 
|---|
| 91 |     'Descs
 | 
|---|
| 92 |     Abstract Function GetDesc(pDesc As *D3DXCONSTANTTABLE_DESC) As DWord
 | 
|---|
| 93 |     Abstract Function GetConstantDesc(hConstant As D3DXHANDLE, pConstantDesc As *D3DXCONSTANT_DESC, pCount As DWordPtr) As DWord
 | 
|---|
| 94 |     Abstract Function GetSamplerIndex(hConstant As D3DXHANDLE) As DWord
 | 
|---|
| 95 | 
 | 
|---|
| 96 |     'Handle operations
 | 
|---|
| 97 |     Abstract Function GetConstant(hConstant As D3DXHANDLE, Index As DWord) As D3DXHANDLE
 | 
|---|
| 98 |     Abstract Function GetConstantByName(hConstant As D3DXHANDLE, pName As BytePtr) As D3DXHANDLE
 | 
|---|
| 99 |     Abstract Function GetConstantElement(hConstant As D3DXHANDLE, Index As DWord) As D3DXHANDLE
 | 
|---|
| 100 | 
 | 
|---|
| 101 |     'Set Constants
 | 
|---|
| 102 |     Abstract Function SetDefaults(pDevice As LPDIRECT3DDEVICE9) As DWord
 | 
|---|
| 103 |     Abstract Function SetValue(pDevice As LPDIRECT3DDEVICE9, hConstant As D3DXHANDLE, pData As VoidPtr, Bytes As DWord) As DWord
 | 
|---|
| 104 |     Abstract Function SetBool(pDevice As LPDIRECT3DDEVICE9, hConstant As D3DXHANDLE, b As Long) As DWord
 | 
|---|
| 105 |     Abstract Function SetBoolArray(pDevice As LPDIRECT3DDEVICE9, hConstant As D3DXHANDLE, pb As *Long, Count As DWord) As DWord
 | 
|---|
| 106 |     Abstract Function SetInt(pDevice As LPDIRECT3DDEVICE9, hConstant As D3DXHANDLE, n As Long) As DWord
 | 
|---|
| 107 |     Abstract Function SetIntArray(pDevice As LPDIRECT3DDEVICE9, hConstant As D3DXHANDLE, pn As *Long, Count As DWord) As DWord
 | 
|---|
| 108 |     Abstract Function SetFloat(pDevice As LPDIRECT3DDEVICE9, hConstant As D3DXHANDLE, f As Single) As DWord
 | 
|---|
| 109 |     Abstract Function SetFloatArray(pDevice As LPDIRECT3DDEVICE9, hConstant As D3DXHANDLE, pf As SinglePtr, Count As DWord) As DWord
 | 
|---|
| 110 |     Abstract Function SetVector(pDevice As LPDIRECT3DDEVICE9, hConstant As D3DXHANDLE, pVector As *D3DXVECTOR4) As DWord
 | 
|---|
| 111 |     Abstract Function SetVectorArray(pDevice As LPDIRECT3DDEVICE9, hConstant As D3DXHANDLE, pVector As *D3DXVECTOR4, Count As DWord) As DWord
 | 
|---|
| 112 |     Abstract Function SetMatrix(pDevice As LPDIRECT3DDEVICE9, hConstant As D3DXHANDLE, pMatrix As *D3DXMATRIX) As DWord
 | 
|---|
| 113 |     Abstract Function SetMatrixArray(pDevice As LPDIRECT3DDEVICE9, hConstant As D3DXHANDLE, pMatrix As *D3DXMATRIX, Count As DWord) As DWord
 | 
|---|
| 114 |     Abstract Function SetMatrixPointerArray(pDevice As LPDIRECT3DDEVICE9, hConstant As D3DXHANDLE, ppMatrix As **D3DXMATRIX, Count As DWord) As DWord
 | 
|---|
| 115 |     Abstract Function SetMatrixTranspose(pDevice As LPDIRECT3DDEVICE9, hConstant As D3DXHANDLE, pMatrix As *D3DXMATRIX) As DWord
 | 
|---|
| 116 |     Abstract Function SetMatrixTransposeArray(pDevice As LPDIRECT3DDEVICE9, hConstant As D3DXHANDLE, pMatrix As *D3DXMATRIX, Count As DWord) As DWord
 | 
|---|
| 117 |     Abstract Function SetMatrixTransposePointerArray(pDevice As LPDIRECT3DDEVICE9, hConstant As D3DXHANDLE, ppMatrix As **D3DXMATRIX, Count As DWord) As DWord
 | 
|---|
| 118 | End Class
 | 
|---|
| 119 | TypeDef LPD3DXCONSTANTTABLE = *ID3DXConstantTable
 | 
|---|
| 120 | 
 | 
|---|
| 121 | 
 | 
|---|
| 122 | Class ID3DXTextureShader
 | 
|---|
| 123 |     Inherits IUnknown
 | 
|---|
| 124 | Public
 | 
|---|
| 125 |     'Gets
 | 
|---|
| 126 |     Abstract Function GetFunction(ppFunction As *LPD3DXBUFFER) As DWord
 | 
|---|
| 127 |     Abstract Function GetConstantBuffer(ppConstantBuffer As *LPD3DXBUFFER) As DWord
 | 
|---|
| 128 | 
 | 
|---|
| 129 |     'Descs
 | 
|---|
| 130 |     Abstract Function GetDesc(pDesc As *D3DXCONSTANTTABLE_DESC) As DWord
 | 
|---|
| 131 |     Abstract Function GetConstantDesc(hConstant As D3DXHANDLE, pConstantDesc As *D3DXCONSTANT_DESC, pCount As DWordPtr) As DWord
 | 
|---|
| 132 | 
 | 
|---|
| 133 |     'Handle operations
 | 
|---|
| 134 |     Abstract Function GetConstant(hConstant As D3DXHANDLE, Index As DWord) As D3DXHANDLE
 | 
|---|
| 135 |     Abstract Function GetConstantByName(hConstant As D3DXHANDLE, pName As BytePtr) As D3DXHANDLE
 | 
|---|
| 136 |     Abstract Function GetConstantElement(hConstant As D3DXHANDLE, Index As DWord) As D3DXHANDLE
 | 
|---|
| 137 | 
 | 
|---|
| 138 |     'Set Constants
 | 
|---|
| 139 |     Abstract Function SetDefaults() As DWord
 | 
|---|
| 140 |     Abstract Function SetValue(hConstant As D3DXHANDLE, pData As VoidPtr, Bytes As DWord) As DWord
 | 
|---|
| 141 |     Abstract Function SetBool(hConstant As D3DXHANDLE, b As Long) As DWord
 | 
|---|
| 142 |     Abstract Function SetBoolArray(hConstant As D3DXHANDLE, pb As *Long, Count As DWord) As DWord
 | 
|---|
| 143 |     Abstract Function SetInt(hConstant As D3DXHANDLE, n As Long) As DWord
 | 
|---|
| 144 |     Abstract Function SetIntArray(hConstant As D3DXHANDLE, pn As *Long, Count As DWord) As DWord
 | 
|---|
| 145 |     Abstract Function SetFloat(hConstant As D3DXHANDLE, f As Single) As DWord
 | 
|---|
| 146 |     Abstract Function SetFloatArray(hConstant As D3DXHANDLE, pf As SinglePtr, Count As DWord) As DWord
 | 
|---|
| 147 |     Abstract Function SetVector(hConstant As D3DXHANDLE, pVector As *D3DXVECTOR4) As DWord
 | 
|---|
| 148 |     Abstract Function SetVectorArray(hConstant As D3DXHANDLE, pVector As *D3DXVECTOR4, Count As DWord) As DWord
 | 
|---|
| 149 |     Abstract Function SetMatrix(hConstant As D3DXHANDLE, pMatrix As *D3DXMATRIX) As DWord
 | 
|---|
| 150 |     Abstract Function SetMatrixArray(hConstant As D3DXHANDLE, pMatrix As *D3DXMATRIX, Count As DWord) As DWord
 | 
|---|
| 151 |     Abstract Function SetMatrixPointerArray(hConstant As D3DXHANDLE, ppMatrix As **D3DXMATRIX, Count As DWord) As DWord
 | 
|---|
| 152 |     Abstract Function SetMatrixTranspose(hConstant As D3DXHANDLE, pMatrix As *D3DXMATRIX) As DWord
 | 
|---|
| 153 |     Abstract Function SetMatrixTransposeArray(hConstant As D3DXHANDLE, pMatrix As *D3DXMATRIX, Count As DWord) As DWord
 | 
|---|
| 154 |     Abstract Function SetMatrixTransposePointerArray(hConstant As D3DXHANDLE, ppMatrix As **D3DXMATRIX, Count As DWord) As DWord
 | 
|---|
| 155 | End Class
 | 
|---|
| 156 | TypeDef LPD3DXTEXTURESHADER = *ID3DXTextureShader
 | 
|---|
| 157 | 
 | 
|---|
| 158 | 
 | 
|---|
| 159 | Class ID3DXFragmentLinker
 | 
|---|
| 160 |     Inherits IUnknown
 | 
|---|
| 161 | Public
 | 
|---|
| 162 |     'fragment access and information retrieval functions
 | 
|---|
| 163 |     Abstract Function GetDevice(ppDevice As *LPDIRECT3DDEVICE9) As DWord
 | 
|---|
| 164 |     Abstract Function GetNumberOfFragments() As DWord
 | 
|---|
| 165 | 
 | 
|---|
| 166 |     Abstract Function GetFragmentHandleByIndex(Index As DWord) As D3DXHANDLE
 | 
|---|
| 167 |     Abstract Function GetFragmentHandleByName(Name As BytePtr) As D3DXHANDLE
 | 
|---|
| 168 |     Abstract Function GetFragmentDesc(Name As D3DXHANDLE, FragDesc As *D3DXFRAGMENT_DESC) As DWord
 | 
|---|
| 169 | 
 | 
|---|
| 170 |     'add the fragments in the buffer to the linker
 | 
|---|
| 171 |     Abstract Function AddFragments(Fragments As DWordPtr) As DWord
 | 
|---|
| 172 | 
 | 
|---|
| 173 |     'Create a buffer containing the fragments.  Suitable for saving to disk
 | 
|---|
| 174 |     Abstract Function GetAllFragments(ppBuffer As *LPD3DXBUFFER) As DWord
 | 
|---|
| 175 |     Abstract Function GetFragment(Name As D3DXHANDLE, ppBuffer As *LPD3DXBUFFER) As DWord
 | 
|---|
| 176 | 
 | 
|---|
| 177 |     Abstract Function LinkShader(pProfile As BytePtr, Flags As DWord, rgFragmentHandles As *D3DXHANDLE, cFragments As DWord, ppBuffer As *LPD3DXBUFFER, ppErrorMsgs As *LPD3DXBUFFER) As DWord
 | 
|---|
| 178 |     Abstract Function LinkVertexShader(pProfile As BytePtr, Flags As DWord, rgFragmentHandles As *D3DXHANDLE, cFragments As DWord, pVShader As *LPDIRECT3DVERTEXSHADER9, ppErrorMsgs As *LPD3DXBUFFER) As DWord
 | 
|---|
| 179 |     Abstract Function LinkPixelShader(pProfile As BytePtr, Flags As DWord, rgFragmentHandles As *D3DXHANDLE, cFragments As DWord, pPShader As *LPDIRECT3DPIXELSHADER9, ppErrorMsgs As *LPD3DXBUFFER) As DWord
 | 
|---|
| 180 | 
 | 
|---|
| 181 |     Abstract Function ClearCache() As DWord
 | 
|---|
| 182 | End Class
 | 
|---|
| 183 | TypeDef LPD3DXFRAGMENTLINKER = *ID3DXFragmentLinker
 | 
|---|
| 184 | 
 | 
|---|
| 185 | 
 | 
|---|
| 186 | Const Enum D3DXINCLUDE_TYPE
 | 
|---|
| 187 |     D3DXINC_LOCAL  = 0
 | 
|---|
| 188 |     D3DXINC_SYSTEM = 1
 | 
|---|
| 189 | 
 | 
|---|
| 190 |     D3DXINC_FORCE_DWORD = &H7FFFFFFF
 | 
|---|
| 191 | End Enum
 | 
|---|
| 192 | 
 | 
|---|
| 193 | Class ID3DXInclude
 | 
|---|
| 194 |     Abstract Function Open(IncludeType As D3DXINCLUDE_TYPE, pFileName As BytePtr, pParentData As VoidPtr, ppData As DWordPtr, pBytes As DWordPtr) As DWord
 | 
|---|
| 195 |     Abstract Function Close(pData As VoidPtr) As DWord
 | 
|---|
| 196 | End Class
 | 
|---|
| 197 | TypeDef LPD3DXINCLUDE = *ID3DXInclude
 | 
|---|
| 198 | 
 | 
|---|
| 199 | 
 | 
|---|
| 200 | '--------------------
 | 
|---|
| 201 | ' D3DXAssembleShader
 | 
|---|
| 202 | '--------------------
 | 
|---|
| 203 | Declare Function D3DXAssembleShaderFromFile Lib "dx9abm" Alias "D3DXAssembleShaderFromFile_abm" (pSrcFile As BytePtr, pDefines As *D3DXMACRO, pInclude As LPD3DXINCLUDE, Flags As DWord, ppShader As *LPD3DXBUFFER, ppErrorMsgs As *LPD3DXBUFFER) As DWord
 | 
|---|
| 204 | Declare Function D3DXAssembleShaderFromResource Lib "dx9abm" Alias "D3DXAssembleShaderFromResource_abm" (hSrcModule As HINSTANCE, pSrcResource As BytePtr, pDefines As *D3DXMACRO, pInclude As LPD3DXINCLUDE, Flags As DWord, ppShader As *LPD3DXBUFFER, ppErrorMsgs As *LPD3DXBUFFER) As DWord
 | 
|---|
| 205 | Declare Function D3DXAssembleShader Lib "dx9abm" Alias "D3DXAssembleShader_abm" (pSrcData As BytePtr, SrcDataLen As DWord, pDefines As *D3DXMACRO, pInclude As LPD3DXINCLUDE, Flags As DWord, ppShader As *LPD3DXBUFFER, ppErrorMsgs As *LPD3DXBUFFER) As DWord
 | 
|---|
| 206 | 
 | 
|---|
| 207 | 
 | 
|---|
| 208 | '-------------------
 | 
|---|
| 209 | ' D3DXCompileShader
 | 
|---|
| 210 | '-------------------
 | 
|---|
| 211 | Declare Function D3DXCompileShaderFromFile Lib "dx9abm" Alias "D3DXCompileShaderFromFile_abm" (pSrcFile As BytePtr, pDefines As *D3DXMACRO, pInclude As LPD3DXINCLUDE, pFunctionName As BytePtr, pProfile As BytePtr, Flags As DWord, ppShader As *LPD3DXBUFFER, ppErrorMsgs As *LPD3DXBUFFER, ppConstantTable As *LPD3DXCONSTANTTABLE) As DWord
 | 
|---|
| 212 | Declare Function D3DXCompileShaderFromResource Lib "dx9abm" Alias "D3DXCompileShaderFromResource_abm" (hSrcModule As HINSTANCE, pSrcResource As BytePtr, pDefines As *D3DXMACRO, pInclude As LPD3DXINCLUDE, pFunctionName As BytePtr, pProfile As BytePtr, Flags As DWord, ppShader As *LPD3DXBUFFER, ppErrorMsgs As *LPD3DXBUFFER, ppConstantTable As *LPD3DXCONSTANTTABLE) As DWord
 | 
|---|
| 213 | Declare Function D3DXCompileShader Lib "dx9abm" Alias "D3DXCompileShader_abm" (pSrcData As BytePtr, SrcDataLen As DWord, pDefines As *D3DXMACRO, pInclude As LPD3DXINCLUDE, pFunctionName As BytePtr, pProfile As BytePtr, Flags As DWord, ppShader As *LPD3DXBUFFER, ppErrorMsgs As *LPD3DXBUFFER, ppConstantTable As *LPD3DXCONSTANTTABLE) As DWord
 | 
|---|