Artifact 496784a5813cdffad050268f7a06dbf4a121db43:
- File
src/win32/directx/d3d10effect.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0d 0a 2a 20 20 20 20 ********\..*
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0060: 20 20 20 20 20 20 20 20 20 64 33 64 31 30 65 66 d3d10ef
0070: 66 65 63 74 2e 64 20 20 20 20 20 20 20 20 20 20 fect.d
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20 *..*
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d *.
00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*
00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73 Windows
0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75 API header modu
0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le
0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20 *..*
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 *..*
0180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 P
0190: 6c 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c 69 laced into publi
01a0: 63 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 20 c domain
01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a *
01c0: 0d 0a 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ..\*************
01d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
01e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
01f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0200: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f 0d 0a 6d 6f 64 **********/..mod
0210: 75 6c 65 20 77 69 6e 33 32 2e 64 69 72 65 63 74 ule win32.direct
0220: 78 2e 64 33 64 31 30 65 66 66 65 63 74 3b 0d 0a x.d3d10effect;..
0230: 0d 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74 ..private import
0240: 20 77 69 6e 33 32 2e 77 69 6e 64 6f 77 73 3b 0d win32.windows;.
0250: 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20 .private import
0260: 77 69 6e 33 32 2e 64 69 72 65 63 74 78 2e 64 33 win32.directx.d3
0270: 64 31 30 3b 0d 0a 0d 0a 0d 0a 65 6e 75 6d 20 44 d10;......enum D
0280: 33 44 31 30 5f 44 45 56 49 43 45 5f 53 54 41 54 3D10_DEVICE_STAT
0290: 45 5f 54 59 50 45 53 20 7b 0d 0a 09 44 33 44 31 E_TYPES {...D3D1
02a0: 30 5f 44 53 54 5f 53 4f 5f 42 55 46 46 45 52 53 0_DST_SO_BUFFERS
02b0: 20 3d 20 31 2c 0d 0a 09 44 33 44 31 30 5f 44 53 = 1,...D3D10_DS
02c0: 54 5f 4f 4d 5f 52 45 4e 44 45 52 5f 54 41 52 47 T_OM_RENDER_TARG
02d0: 45 54 53 2c 0d 0a 09 44 33 44 31 30 5f 44 53 54 ETS,...D3D10_DST
02e0: 5f 4f 4d 5f 44 45 50 54 48 5f 53 54 45 4e 43 49 _OM_DEPTH_STENCI
02f0: 4c 5f 53 54 41 54 45 2c 0d 0a 09 44 33 44 31 30 L_STATE,...D3D10
0300: 5f 44 53 54 5f 4f 4d 5f 42 4c 45 4e 44 5f 53 54 _DST_OM_BLEND_ST
0310: 41 54 45 2c 0d 0a 09 44 33 44 31 30 5f 44 53 54 ATE,...D3D10_DST
0320: 5f 56 53 2c 0d 0a 09 44 33 44 31 30 5f 44 53 54 _VS,...D3D10_DST
0330: 5f 56 53 5f 53 41 4d 50 4c 45 52 53 2c 0d 0a 09 _VS_SAMPLERS,...
0340: 44 33 44 31 30 5f 44 53 54 5f 56 53 5f 53 48 41 D3D10_DST_VS_SHA
0350: 44 45 52 5f 52 45 53 4f 55 52 43 45 53 2c 0d 0a DER_RESOURCES,..
0360: 09 44 33 44 31 30 5f 44 53 54 5f 56 53 5f 43 4f .D3D10_DST_VS_CO
0370: 4e 53 54 41 4e 54 5f 42 55 46 46 45 52 53 2c 0d NSTANT_BUFFERS,.
0380: 0a 09 44 33 44 31 30 5f 44 53 54 5f 47 53 2c 0d ..D3D10_DST_GS,.
0390: 0a 09 44 33 44 31 30 5f 44 53 54 5f 47 53 5f 53 ..D3D10_DST_GS_S
03a0: 41 4d 50 4c 45 52 53 2c 0d 0a 09 44 33 44 31 30 AMPLERS,...D3D10
03b0: 5f 44 53 54 5f 47 53 5f 53 48 41 44 45 52 5f 52 _DST_GS_SHADER_R
03c0: 45 53 4f 55 52 43 45 53 2c 0d 0a 09 44 33 44 31 ESOURCES,...D3D1
03d0: 30 5f 44 53 54 5f 47 53 5f 43 4f 4e 53 54 41 4e 0_DST_GS_CONSTAN
03e0: 54 5f 42 55 46 46 45 52 53 2c 0d 0a 09 44 33 44 T_BUFFERS,...D3D
03f0: 31 30 5f 44 53 54 5f 50 53 2c 0d 0a 09 44 33 44 10_DST_PS,...D3D
0400: 31 30 5f 44 53 54 5f 50 53 5f 53 41 4d 50 4c 45 10_DST_PS_SAMPLE
0410: 52 53 2c 0d 0a 09 44 33 44 31 30 5f 44 53 54 5f RS,...D3D10_DST_
0420: 50 53 5f 53 48 41 44 45 52 5f 52 45 53 4f 55 52 PS_SHADER_RESOUR
0430: 43 45 53 2c 0d 0a 09 44 33 44 31 30 5f 44 53 54 CES,...D3D10_DST
0440: 5f 50 53 5f 43 4f 4e 53 54 41 4e 54 5f 42 55 46 _PS_CONSTANT_BUF
0450: 46 45 52 53 2c 0d 0a 09 44 33 44 31 30 5f 44 53 FERS,...D3D10_DS
0460: 54 5f 49 41 5f 56 45 52 54 45 58 5f 42 55 46 46 T_IA_VERTEX_BUFF
0470: 45 52 53 2c 0d 0a 09 44 33 44 31 30 5f 44 53 54 ERS,...D3D10_DST
0480: 5f 49 41 5f 49 4e 44 45 58 5f 42 55 46 46 45 52 _IA_INDEX_BUFFER
0490: 2c 0d 0a 09 44 33 44 31 30 5f 44 53 54 5f 49 41 ,...D3D10_DST_IA
04a0: 5f 49 4e 50 55 54 5f 4c 41 59 4f 55 54 2c 0d 0a _INPUT_LAYOUT,..
04b0: 09 44 33 44 31 30 5f 44 53 54 5f 49 41 5f 50 52 .D3D10_DST_IA_PR
04c0: 49 4d 49 54 49 56 45 5f 54 4f 50 4f 4c 4f 47 59 IMITIVE_TOPOLOGY
04d0: 2c 0d 0a 09 44 33 44 31 30 5f 44 53 54 5f 52 53 ,...D3D10_DST_RS
04e0: 5f 56 49 45 57 50 4f 52 54 53 2c 0d 0a 09 44 33 _VIEWPORTS,...D3
04f0: 44 31 30 5f 44 53 54 5f 52 53 5f 53 43 49 53 53 D10_DST_RS_SCISS
0500: 4f 52 5f 52 45 43 54 53 2c 0d 0a 09 44 33 44 31 OR_RECTS,...D3D1
0510: 30 5f 44 53 54 5f 52 53 5f 52 41 53 54 45 52 49 0_DST_RS_RASTERI
0520: 5a 45 52 5f 53 54 41 54 45 2c 0d 0a 09 44 33 44 ZER_STATE,...D3D
0530: 31 30 5f 44 53 54 5f 50 52 45 44 49 43 41 54 49 10_DST_PREDICATI
0540: 4f 4e 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 ON..}....struct
0550: 44 33 44 31 30 5f 53 54 41 54 45 5f 42 4c 4f 43 D3D10_STATE_BLOC
0560: 4b 5f 4d 41 53 4b 20 7b 0d 0a 09 42 59 54 45 20 K_MASK {...BYTE
0570: 56 53 3b 0d 0a 09 42 59 54 45 5b 32 5d 20 56 53 VS;...BYTE[2] VS
0580: 53 61 6d 70 6c 65 72 73 3b 0d 0a 09 42 59 54 45 Samplers;...BYTE
0590: 5b 31 36 5d 20 56 53 53 68 61 64 65 72 52 65 73 [16] VSShaderRes
05a0: 6f 75 72 63 65 73 3b 0d 0a 09 42 59 54 45 5b 32 ources;...BYTE[2
05b0: 5d 20 56 53 43 6f 6e 73 74 61 6e 74 42 75 66 66 ] VSConstantBuff
05c0: 65 72 73 3b 0d 0a 09 42 59 54 45 20 47 53 3b 0d ers;...BYTE GS;.
05d0: 0a 09 42 59 54 45 5b 32 5d 20 47 53 53 61 6d 70 ..BYTE[2] GSSamp
05e0: 6c 65 72 73 3b 0d 0a 09 42 59 54 45 5b 31 36 5d lers;...BYTE[16]
05f0: 20 47 53 53 68 61 64 65 72 52 65 73 6f 75 72 63 GSShaderResourc
0600: 65 73 3b 0d 0a 09 42 59 54 45 5b 32 5d 20 47 53 es;...BYTE[2] GS
0610: 43 6f 6e 73 74 61 6e 74 42 75 66 66 65 72 73 3b ConstantBuffers;
0620: 0d 0a 09 42 59 54 45 20 50 53 3b 0d 0a 09 42 59 ...BYTE PS;...BY
0630: 54 45 5b 32 5d 20 50 53 53 61 6d 70 6c 65 72 73 TE[2] PSSamplers
0640: 3b 0d 0a 09 42 59 54 45 5b 31 36 5d 20 50 53 53 ;...BYTE[16] PSS
0650: 68 61 64 65 72 52 65 73 6f 75 72 63 65 73 3b 0d haderResources;.
0660: 0a 09 42 59 54 45 5b 32 5d 20 50 53 43 6f 6e 73 ..BYTE[2] PSCons
0670: 74 61 6e 74 42 75 66 66 65 72 73 3b 0d 0a 09 42 tantBuffers;...B
0680: 59 54 45 5b 32 5d 20 49 41 56 65 72 74 65 78 42 YTE[2] IAVertexB
0690: 75 66 66 65 72 73 3b 0d 0a 09 42 59 54 45 20 49 uffers;...BYTE I
06a0: 41 49 6e 64 65 78 42 75 66 66 65 72 3b 0d 0a 09 AIndexBuffer;...
06b0: 42 59 54 45 20 49 41 49 6e 70 75 74 4c 61 79 6f BYTE IAInputLayo
06c0: 75 74 3b 0d 0a 09 42 59 54 45 20 49 41 50 72 69 ut;...BYTE IAPri
06d0: 6d 69 74 69 76 65 54 6f 70 6f 6c 6f 67 79 3b 0d mitiveTopology;.
06e0: 0a 09 42 59 54 45 20 4f 4d 52 65 6e 64 65 72 54 ..BYTE OMRenderT
06f0: 61 72 67 65 74 73 3b 0d 0a 09 42 59 54 45 20 4f argets;...BYTE O
0700: 4d 44 65 70 74 68 53 74 65 6e 63 69 6c 53 74 61 MDepthStencilSta
0710: 74 65 3b 0d 0a 09 42 59 54 45 20 4f 4d 42 6c 65 te;...BYTE OMBle
0720: 6e 64 53 74 61 74 65 3b 0d 0a 09 42 59 54 45 20 ndState;...BYTE
0730: 52 53 56 69 65 77 70 6f 72 74 73 3b 0d 0a 09 42 RSViewports;...B
0740: 59 54 45 20 52 53 53 63 69 73 73 6f 72 52 65 63 YTE RSScissorRec
0750: 74 73 3b 0d 0a 09 42 59 54 45 20 52 53 52 61 73 ts;...BYTE RSRas
0760: 74 65 72 69 7a 65 72 53 74 61 74 65 3b 0d 0a 09 terizerState;...
0770: 42 59 54 45 20 53 4f 42 75 66 66 65 72 73 3b 0d BYTE SOBuffers;.
0780: 0a 09 42 59 54 45 20 50 72 65 64 69 63 61 74 69 ..BYTE Predicati
0790: 6f 6e 3b 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e on;..}....extern
07a0: 20 28 43 29 20 63 6f 6e 73 74 20 47 55 49 44 20 (C) const GUID
07b0: 49 49 44 5f 49 44 33 44 31 30 53 74 61 74 65 42 IID_ID3D10StateB
07c0: 6c 6f 63 6b 20 3d 20 7b 30 78 38 30 33 34 32 35 lock = {0x803425
07d0: 61 2c 20 30 78 35 37 66 35 2c 20 30 78 34 64 64 a, 0x57f5, 0x4dd
07e0: 36 2c 20 5b 30 78 39 34 2c 20 30 78 36 35 2c 20 6, [0x94, 0x65,
07f0: 30 78 61 38 2c 20 30 78 37 35 2c 20 30 78 37 30 0xa8, 0x75, 0x70
0800: 2c 20 30 78 38 33 2c 20 30 78 34 61 2c 20 30 78 , 0x83, 0x4a, 0x
0810: 30 38 5d 7d 3b 0d 0a 0d 0a 69 6e 74 65 72 66 61 08]};....interfa
0820: 63 65 20 49 44 33 44 31 30 53 74 61 74 65 42 6c ce ID3D10StateBl
0830: 6f 63 6b 20 3a 20 49 55 6e 6b 6e 6f 77 6e 20 7b ock : IUnknown {
0840: 0d 0a 09 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 ...extern(Window
0850: 73 29 20 3a 0d 0a 09 48 52 45 53 55 4c 54 20 43 s) :...HRESULT C
0860: 61 70 74 75 72 65 28 29 3b 0d 0a 09 48 52 45 53 apture();...HRES
0870: 55 4c 54 20 41 70 70 6c 79 28 29 3b 0d 0a 09 48 ULT Apply();...H
0880: 52 45 53 55 4c 54 20 52 65 6c 65 61 73 65 41 6c RESULT ReleaseAl
0890: 6c 44 65 76 69 63 65 4f 62 6a 65 63 74 73 28 29 lDeviceObjects()
08a0: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 44 ;...HRESULT GetD
08b0: 65 76 69 63 65 28 49 44 33 44 31 30 44 65 76 69 evice(ID3D10Devi
08c0: 63 65 20 70 70 44 65 76 69 63 65 29 3b 0d 0a 7d ce ppDevice);..}
08d0: 0d 0a 0d 0a 48 52 45 53 55 4c 54 20 44 33 44 31 ....HRESULT D3D1
08e0: 30 53 74 61 74 65 42 6c 6f 63 6b 4d 61 73 6b 55 0StateBlockMaskU
08f0: 6e 69 6f 6e 28 44 33 44 31 30 5f 53 54 41 54 45 nion(D3D10_STATE
0900: 5f 42 4c 4f 43 4b 5f 4d 41 53 4b 2a 20 70 41 2c _BLOCK_MASK* pA,
0910: 20 44 33 44 31 30 5f 53 54 41 54 45 5f 42 4c 4f D3D10_STATE_BLO
0920: 43 4b 5f 4d 41 53 4b 2a 20 70 42 2c 20 44 33 44 CK_MASK* pB, D3D
0930: 31 30 5f 53 54 41 54 45 5f 42 4c 4f 43 4b 5f 4d 10_STATE_BLOCK_M
0940: 41 53 4b 2a 20 70 52 65 73 75 6c 74 29 3b 0d 0a ASK* pResult);..
0950: 48 52 45 53 55 4c 54 20 44 33 44 31 30 53 74 61 HRESULT D3D10Sta
0960: 74 65 42 6c 6f 63 6b 4d 61 73 6b 49 6e 74 65 72 teBlockMaskInter
0970: 73 65 63 74 28 44 33 44 31 30 5f 53 54 41 54 45 sect(D3D10_STATE
0980: 5f 42 4c 4f 43 4b 5f 4d 41 53 4b 2a 20 70 41 2c _BLOCK_MASK* pA,
0990: 20 44 33 44 31 30 5f 53 54 41 54 45 5f 42 4c 4f D3D10_STATE_BLO
09a0: 43 4b 5f 4d 41 53 4b 2a 20 70 42 2c 20 44 33 44 CK_MASK* pB, D3D
09b0: 31 30 5f 53 54 41 54 45 5f 42 4c 4f 43 4b 5f 4d 10_STATE_BLOCK_M
09c0: 41 53 4b 2a 20 70 52 65 73 75 6c 74 29 3b 0d 0a ASK* pResult);..
09d0: 48 52 45 53 55 4c 54 20 44 33 44 31 30 53 74 61 HRESULT D3D10Sta
09e0: 74 65 42 6c 6f 63 6b 4d 61 73 6b 44 69 66 66 65 teBlockMaskDiffe
09f0: 72 65 6e 63 65 28 44 33 44 31 30 5f 53 54 41 54 rence(D3D10_STAT
0a00: 45 5f 42 4c 4f 43 4b 5f 4d 41 53 4b 2a 20 70 41 E_BLOCK_MASK* pA
0a10: 2c 20 44 33 44 31 30 5f 53 54 41 54 45 5f 42 4c , D3D10_STATE_BL
0a20: 4f 43 4b 5f 4d 41 53 4b 2a 20 70 42 2c 20 44 33 OCK_MASK* pB, D3
0a30: 44 31 30 5f 53 54 41 54 45 5f 42 4c 4f 43 4b 5f D10_STATE_BLOCK_
0a40: 4d 41 53 4b 2a 20 70 52 65 73 75 6c 74 29 3b 0d MASK* pResult);.
0a50: 0a 48 52 45 53 55 4c 54 20 44 33 44 31 30 53 74 .HRESULT D3D10St
0a60: 61 74 65 42 6c 6f 63 6b 4d 61 73 6b 45 6e 61 62 ateBlockMaskEnab
0a70: 6c 65 43 61 70 74 75 72 65 28 44 33 44 31 30 5f leCapture(D3D10_
0a80: 53 54 41 54 45 5f 42 4c 4f 43 4b 5f 4d 41 53 4b STATE_BLOCK_MASK
0a90: 2a 20 70 4d 61 73 6b 2c 20 44 33 44 31 30 5f 44 * pMask, D3D10_D
0aa0: 45 56 49 43 45 5f 53 54 41 54 45 5f 54 59 50 45 EVICE_STATE_TYPE
0ab0: 53 20 53 74 61 74 65 54 79 70 65 2c 20 55 49 4e S StateType, UIN
0ac0: 54 20 52 61 6e 67 65 53 74 61 72 74 2c 20 55 49 T RangeStart, UI
0ad0: 4e 54 20 52 61 6e 67 65 4c 65 6e 67 74 68 29 3b NT RangeLength);
0ae0: 0d 0a 48 52 45 53 55 4c 54 20 44 33 44 31 30 53 ..HRESULT D3D10S
0af0: 74 61 74 65 42 6c 6f 63 6b 4d 61 73 6b 44 69 73 tateBlockMaskDis
0b00: 61 62 6c 65 43 61 70 74 75 72 65 28 44 33 44 31 ableCapture(D3D1
0b10: 30 5f 53 54 41 54 45 5f 42 4c 4f 43 4b 5f 4d 41 0_STATE_BLOCK_MA
0b20: 53 4b 2a 20 70 4d 61 73 6b 2c 20 44 33 44 31 30 SK* pMask, D3D10
0b30: 5f 44 45 56 49 43 45 5f 53 54 41 54 45 5f 54 59 _DEVICE_STATE_TY
0b40: 50 45 53 20 53 74 61 74 65 54 79 70 65 2c 20 55 PES StateType, U
0b50: 49 4e 54 20 52 61 6e 67 65 53 74 61 72 74 2c 20 INT RangeStart,
0b60: 55 49 4e 54 20 52 61 6e 67 65 4c 65 6e 67 74 68 UINT RangeLength
0b70: 29 3b 0d 0a 48 52 45 53 55 4c 54 20 44 33 44 31 );..HRESULT D3D1
0b80: 30 53 74 61 74 65 42 6c 6f 63 6b 4d 61 73 6b 45 0StateBlockMaskE
0b90: 6e 61 62 6c 65 41 6c 6c 28 44 33 44 31 30 5f 53 nableAll(D3D10_S
0ba0: 54 41 54 45 5f 42 4c 4f 43 4b 5f 4d 41 53 4b 2a TATE_BLOCK_MASK*
0bb0: 20 70 4d 61 73 6b 29 3b 0d 0a 48 52 45 53 55 4c pMask);..HRESUL
0bc0: 54 20 44 33 44 31 30 53 74 61 74 65 42 6c 6f 63 T D3D10StateBloc
0bd0: 6b 4d 61 73 6b 44 69 73 61 62 6c 65 41 6c 6c 28 kMaskDisableAll(
0be0: 44 33 44 31 30 5f 53 54 41 54 45 5f 42 4c 4f 43 D3D10_STATE_BLOC
0bf0: 4b 5f 4d 41 53 4b 2a 20 70 4d 61 73 6b 29 3b 0d K_MASK* pMask);.
0c00: 0a 42 4f 4f 4c 20 44 33 44 31 30 53 74 61 74 65 .BOOL D3D10State
0c10: 42 6c 6f 63 6b 4d 61 73 6b 47 65 74 53 65 74 74 BlockMaskGetSett
0c20: 69 6e 67 28 44 33 44 31 30 5f 53 54 41 54 45 5f ing(D3D10_STATE_
0c30: 42 4c 4f 43 4b 5f 4d 41 53 4b 2a 20 70 4d 61 73 BLOCK_MASK* pMas
0c40: 6b 2c 20 44 33 44 31 30 5f 44 45 56 49 43 45 5f k, D3D10_DEVICE_
0c50: 53 54 41 54 45 5f 54 59 50 45 53 20 53 74 61 74 STATE_TYPES Stat
0c60: 65 54 79 70 65 2c 20 55 49 4e 54 20 45 6e 74 72 eType, UINT Entr
0c70: 79 29 3b 0d 0a 48 52 45 53 55 4c 54 20 44 33 44 y);..HRESULT D3D
0c80: 31 30 43 72 65 61 74 65 53 74 61 74 65 42 6c 6f 10CreateStateBlo
0c90: 63 6b 28 49 44 33 44 31 30 44 65 76 69 63 65 20 ck(ID3D10Device
0ca0: 70 44 65 76 69 63 65 2c 20 44 33 44 31 30 5f 53 pDevice, D3D10_S
0cb0: 54 41 54 45 5f 42 4c 4f 43 4b 5f 4d 41 53 4b 2a TATE_BLOCK_MASK*
0cc0: 20 70 53 74 61 74 65 42 6c 6f 63 6b 4d 61 73 6b pStateBlockMask
0cd0: 2c 20 49 44 33 44 31 30 53 74 61 74 65 42 6c 6f , ID3D10StateBlo
0ce0: 63 6b 20 70 70 53 74 61 74 65 42 6c 6f 63 6b 29 ck ppStateBlock)
0cf0: 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 44 33 44 31 30 ;....const D3D10
0d00: 5f 45 46 46 45 43 54 5f 43 4f 4d 50 49 4c 45 5f _EFFECT_COMPILE_
0d10: 43 48 49 4c 44 5f 45 46 46 45 43 54 09 09 09 3d CHILD_EFFECT...=
0d20: 20 31 20 3c 3c 20 30 3b 0d 0a 63 6f 6e 73 74 20 1 << 0;..const
0d30: 44 33 44 31 30 5f 45 46 46 45 43 54 5f 43 4f 4d D3D10_EFFECT_COM
0d40: 50 49 4c 45 5f 41 4c 4c 4f 57 5f 53 4c 4f 57 5f PILE_ALLOW_SLOW_
0d50: 4f 50 53 09 09 3d 20 31 20 3c 3c 20 31 3b 0d 0a OPS..= 1 << 1;..
0d60: 63 6f 6e 73 74 20 44 33 44 31 30 5f 45 46 46 45 const D3D10_EFFE
0d70: 43 54 5f 53 49 4e 47 4c 45 5f 54 48 52 45 41 44 CT_SINGLE_THREAD
0d80: 45 44 09 09 09 09 3d 20 31 20 3c 3c 20 33 3b 0d ED....= 1 << 3;.
0d90: 0a 63 6f 6e 73 74 20 44 33 44 31 30 5f 45 46 46 .const D3D10_EFF
0da0: 45 43 54 5f 56 41 52 49 41 42 4c 45 5f 50 4f 4f ECT_VARIABLE_POO
0db0: 4c 45 44 09 09 09 09 3d 20 31 20 3c 3c 20 30 3b LED....= 1 << 0;
0dc0: 0d 0a 63 6f 6e 73 74 20 44 33 44 31 30 5f 45 46 ..const D3D10_EF
0dd0: 46 45 43 54 5f 56 41 52 49 41 42 4c 45 5f 41 4e FECT_VARIABLE_AN
0de0: 4e 4f 54 41 54 49 4f 4e 09 09 09 3d 20 31 20 3c NOTATION...= 1 <
0df0: 3c 20 31 3b 0d 0a 63 6f 6e 73 74 20 44 33 44 31 < 1;..const D3D1
0e00: 30 5f 45 46 46 45 43 54 5f 56 41 52 49 41 42 4c 0_EFFECT_VARIABL
0e10: 45 5f 45 58 50 4c 49 43 49 54 5f 42 49 4e 44 5f E_EXPLICIT_BIND_
0e20: 50 4f 49 4e 54 09 3d 20 31 20 3c 3c 20 32 3b 0d POINT.= 1 << 2;.
0e30: 0a 0d 0a 73 74 72 75 63 74 20 44 33 44 31 30 5f ...struct D3D10_
0e40: 45 46 46 45 43 54 5f 54 59 50 45 5f 44 45 53 43 EFFECT_TYPE_DESC
0e50: 20 7b 0d 0a 09 4c 50 43 53 54 52 09 54 79 70 65 {...LPCSTR.Type
0e60: 4e 61 6d 65 3b 0d 0a 09 44 33 44 31 30 5f 53 48 Name;...D3D10_SH
0e70: 41 44 45 52 5f 56 41 52 49 41 42 4c 45 5f 43 4c ADER_VARIABLE_CL
0e80: 41 53 53 09 43 6c 61 73 73 3b 0d 0a 09 44 33 44 ASS.Class;...D3D
0e90: 31 30 5f 53 48 41 44 45 52 5f 56 41 52 49 41 42 10_SHADER_VARIAB
0ea0: 4c 45 5f 54 59 50 45 09 54 79 70 65 3b 0d 0a 09 LE_TYPE.Type;...
0eb0: 55 49 4e 54 09 45 6c 65 6d 65 6e 74 73 3b 0d 0a UINT.Elements;..
0ec0: 09 55 49 4e 54 09 4d 65 6d 62 65 72 73 3b 0d 0a .UINT.Members;..
0ed0: 09 55 49 4e 54 09 52 6f 77 73 3b 0d 0a 09 55 49 .UINT.Rows;...UI
0ee0: 4e 54 09 43 6f 6c 75 6d 6e 73 3b 0d 0a 09 55 49 NT.Columns;...UI
0ef0: 4e 54 09 50 61 63 6b 65 64 53 69 7a 65 3b 0d 0a NT.PackedSize;..
0f00: 09 55 49 4e 54 09 55 6e 70 61 63 6b 65 64 53 69 .UINT.UnpackedSi
0f10: 7a 65 3b 0d 0a 09 55 49 4e 54 09 53 74 72 69 64 ze;...UINT.Strid
0f20: 65 3b 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e 20 e;..}....extern
0f30: 28 43 29 20 63 6f 6e 73 74 20 47 55 49 44 20 49 (C) const GUID I
0f40: 49 44 5f 49 44 33 44 31 30 45 66 66 65 63 74 54 ID_ID3D10EffectT
0f50: 79 70 65 20 3d 20 7b 30 78 34 65 39 65 31 64 64 ype = {0x4e9e1dd
0f60: 63 2c 20 30 78 63 64 39 64 2c 20 30 78 34 37 37 c, 0xcd9d, 0x477
0f70: 32 2c 20 5b 30 78 61 38 2c 20 30 78 33 37 2c 20 2, [0xa8, 0x37,
0f80: 30 78 30 2c 20 30 78 31 38 2c 20 30 78 30 62 2c 0x0, 0x18, 0x0b,
0f90: 20 30 78 39 62 2c 20 30 78 38 38 2c 20 30 78 66 0x9b, 0x88, 0xf
0fa0: 64 5d 7d 3b 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 d]};....interfac
0fb0: 65 20 49 44 33 44 31 30 45 66 66 65 63 74 54 79 e ID3D10EffectTy
0fc0: 70 65 20 7b 0d 0a 2f 2a 20 54 4f 44 4f 3a 20 66 pe {../* TODO: f
0fd0: 69 78 20 76 74 62 6c 5b 30 5d 20 62 75 67 0d 0a ix vtbl[0] bug..
0fe0: 09 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 .extern(Windows)
0ff0: 20 3a 0d 0a 09 42 4f 4f 4c 20 49 73 56 61 6c 69 :...BOOL IsVali
1000: 64 28 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 d();...HRESULT G
1010: 65 74 44 65 73 63 28 44 33 44 31 30 5f 45 46 46 etDesc(D3D10_EFF
1020: 45 43 54 5f 54 59 50 45 5f 44 45 53 43 2a 20 70 ECT_TYPE_DESC* p
1030: 44 65 73 63 29 3b 0d 0a 09 49 44 33 44 31 30 45 Desc);...ID3D10E
1040: 66 66 65 63 74 54 79 70 65 20 47 65 74 4d 65 6d ffectType GetMem
1050: 62 65 72 54 79 70 65 42 79 49 6e 64 65 78 28 55 berTypeByIndex(U
1060: 49 4e 54 20 49 6e 64 65 78 29 3b 0d 0a 09 49 44 INT Index);...ID
1070: 33 44 31 30 45 66 66 65 63 74 54 79 70 65 20 47 3D10EffectType G
1080: 65 74 4d 65 6d 62 65 72 54 79 70 65 42 79 4e 61 etMemberTypeByNa
1090: 6d 65 28 4c 50 43 53 54 52 20 4e 61 6d 65 29 3b me(LPCSTR Name);
10a0: 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 54 ...ID3D10EffectT
10b0: 79 70 65 20 47 65 74 4d 65 6d 62 65 72 54 79 70 ype GetMemberTyp
10c0: 65 42 79 53 65 6d 61 6e 74 69 63 28 4c 50 43 53 eBySemantic(LPCS
10d0: 54 52 20 53 65 6d 61 6e 74 69 63 29 3b 0d 0a 09 TR Semantic);...
10e0: 4c 50 43 53 54 52 20 47 65 74 4d 65 6d 62 65 72 LPCSTR GetMember
10f0: 4e 61 6d 65 28 55 49 4e 54 20 49 6e 64 65 78 29 Name(UINT Index)
1100: 3b 0d 0a 09 4c 50 43 53 54 52 20 47 65 74 4d 65 ;...LPCSTR GetMe
1110: 6d 62 65 72 53 65 6d 61 6e 74 69 63 28 55 49 4e mberSemantic(UIN
1120: 54 20 49 6e 64 65 78 29 3b 0d 0a 09 2a 2f 0d 0a T Index);...*/..
1130: 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 44 33 44 31 }....struct D3D1
1140: 30 5f 45 46 46 45 43 54 5f 56 41 52 49 41 42 4c 0_EFFECT_VARIABL
1150: 45 5f 44 45 53 43 20 7b 0d 0a 09 4c 50 43 53 54 E_DESC {...LPCST
1160: 52 09 4e 61 6d 65 3b 0d 0a 09 4c 50 43 53 54 52 R.Name;...LPCSTR
1170: 09 53 65 6d 61 6e 74 69 63 3b 0d 0a 09 55 49 4e .Semantic;...UIN
1180: 54 09 46 6c 61 67 73 3b 0d 0a 09 55 49 4e 54 09 T.Flags;...UINT.
1190: 41 6e 6e 6f 74 61 74 69 6f 6e 73 3b 0d 0a 09 55 Annotations;...U
11a0: 49 4e 54 09 42 75 66 66 65 72 4f 66 66 73 65 74 INT.BufferOffset
11b0: 3b 0d 0a 09 55 49 4e 54 09 45 78 70 6c 69 63 69 ;...UINT.Explici
11c0: 74 42 69 6e 64 50 6f 69 6e 74 3b 0d 0a 7d 0d 0a tBindPoint;..}..
11d0: 0d 0a 65 78 74 65 72 6e 20 28 43 29 20 63 6f 6e ..extern (C) con
11e0: 73 74 20 47 55 49 44 20 49 49 44 5f 49 44 33 44 st GUID IID_ID3D
11f0: 31 30 45 66 66 65 63 74 56 61 72 69 61 62 6c 65 10EffectVariable
1200: 20 3d 20 7b 30 78 61 65 38 39 37 31 30 35 2c 20 = {0xae897105,
1210: 30 78 30 30 65 36 2c 20 30 78 34 35 62 66 2c 20 0x00e6, 0x45bf,
1220: 5b 30 78 62 62 2c 20 30 78 38 65 2c 20 30 78 32 [0xbb, 0x8e, 0x2
1230: 38 2c 20 30 78 31 64 2c 20 30 78 64 36 2c 20 30 8, 0x1d, 0xd6, 0
1240: 78 64 62 2c 20 30 78 38 65 2c 20 30 78 31 62 5d xdb, 0x8e, 0x1b]
1250: 7d 3b 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 };....interface
1260: 49 44 33 44 31 30 45 66 66 65 63 74 56 61 72 69 ID3D10EffectVari
1270: 61 62 6c 65 20 7b 0d 0a 2f 2a 20 54 4f 44 4f 3a able {../* TODO:
1280: 20 66 69 78 20 76 74 62 6c 5b 30 5d 20 62 75 67 fix vtbl[0] bug
1290: 0d 0a 09 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 ...extern(Window
12a0: 73 29 20 3a 0d 0a 09 42 4f 4f 4c 20 49 73 56 61 s) :...BOOL IsVa
12b0: 6c 69 64 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 lid();...ID3D10E
12c0: 66 66 65 63 74 54 79 70 65 20 47 65 74 54 79 70 ffectType GetTyp
12d0: 65 28 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 e();...HRESULT G
12e0: 65 74 44 65 73 63 28 44 33 44 31 30 5f 45 46 46 etDesc(D3D10_EFF
12f0: 45 43 54 5f 56 41 52 49 41 42 4c 45 5f 44 45 53 ECT_VARIABLE_DES
1300: 43 2a 20 70 44 65 73 63 29 3b 0d 0a 09 49 44 33 C* pDesc);...ID3
1310: 44 31 30 45 66 66 65 63 74 56 61 72 69 61 62 6c D10EffectVariabl
1320: 65 20 47 65 74 41 6e 6e 6f 74 61 74 69 6f 6e 42 e GetAnnotationB
1330: 79 49 6e 64 65 78 28 55 49 4e 54 20 49 6e 64 65 yIndex(UINT Inde
1340: 78 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 x);...ID3D10Effe
1350: 63 74 56 61 72 69 61 62 6c 65 20 47 65 74 41 6e ctVariable GetAn
1360: 6e 6f 74 61 74 69 6f 6e 42 79 4e 61 6d 65 28 4c notationByName(L
1370: 50 43 53 54 52 20 4e 61 6d 65 29 3b 0d 0a 09 49 PCSTR Name);...I
1380: 44 33 44 31 30 45 66 66 65 63 74 56 61 72 69 61 D3D10EffectVaria
1390: 62 6c 65 20 47 65 74 4d 65 6d 62 65 72 42 79 49 ble GetMemberByI
13a0: 6e 64 65 78 28 55 49 4e 54 20 49 6e 64 65 78 29 ndex(UINT Index)
13b0: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
13c0: 56 61 72 69 61 62 6c 65 20 47 65 74 4d 65 6d 62 Variable GetMemb
13d0: 65 72 42 79 4e 61 6d 65 28 4c 50 43 53 54 52 20 erByName(LPCSTR
13e0: 4e 61 6d 65 29 3b 0d 0a 09 49 44 33 44 31 30 45 Name);...ID3D10E
13f0: 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 47 65 ffectVariable Ge
1400: 74 4d 65 6d 62 65 72 42 79 53 65 6d 61 6e 74 69 tMemberBySemanti
1410: 63 28 4c 50 43 53 54 52 20 53 65 6d 61 6e 74 69 c(LPCSTR Semanti
1420: 63 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 c);...ID3D10Effe
1430: 63 74 56 61 72 69 61 62 6c 65 20 47 65 74 45 6c ctVariable GetEl
1440: 65 6d 65 6e 74 28 55 49 4e 54 20 49 6e 64 65 78 ement(UINT Index
1450: 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 );...ID3D10Effec
1460: 74 43 6f 6e 73 74 61 6e 74 42 75 66 66 65 72 20 tConstantBuffer
1470: 47 65 74 50 61 72 65 6e 74 43 6f 6e 73 74 61 6e GetParentConstan
1480: 74 42 75 66 66 65 72 28 29 3b 0d 0a 09 49 44 33 tBuffer();...ID3
1490: 44 31 30 45 66 66 65 63 74 53 63 61 6c 61 72 56 D10EffectScalarV
14a0: 61 72 69 61 62 6c 65 20 41 73 53 63 61 6c 61 72 ariable AsScalar
14b0: 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 ();...ID3D10Effe
14c0: 63 74 56 65 63 74 6f 72 56 61 72 69 61 62 6c 65 ctVectorVariable
14d0: 20 41 73 56 65 63 74 6f 72 28 29 3b 0d 0a 09 49 AsVector();...I
14e0: 44 33 44 31 30 45 66 66 65 63 74 4d 61 74 72 69 D3D10EffectMatri
14f0: 78 56 61 72 69 61 62 6c 65 20 41 73 4d 61 74 72 xVariable AsMatr
1500: 69 78 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 ix();...ID3D10Ef
1510: 66 65 63 74 53 74 72 69 6e 67 56 61 72 69 61 62 fectStringVariab
1520: 6c 65 20 41 73 53 74 72 69 6e 67 28 29 3b 0d 0a le AsString();..
1530: 09 49 44 33 44 31 30 45 66 66 65 63 74 53 68 61 .ID3D10EffectSha
1540: 64 65 72 52 65 73 6f 75 72 63 65 56 61 72 69 61 derResourceVaria
1550: 62 6c 65 20 41 73 53 68 61 64 65 72 52 65 73 6f ble AsShaderReso
1560: 75 72 63 65 28 29 3b 0d 0a 09 49 44 33 44 31 30 urce();...ID3D10
1570: 45 66 66 65 63 74 52 65 6e 64 65 72 54 61 72 67 EffectRenderTarg
1580: 65 74 56 69 65 77 56 61 72 69 61 62 6c 65 20 41 etViewVariable A
1590: 73 52 65 6e 64 65 72 54 61 72 67 65 74 56 69 65 sRenderTargetVie
15a0: 77 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 w();...ID3D10Eff
15b0: 65 63 74 44 65 70 74 68 53 74 65 6e 63 69 6c 56 ectDepthStencilV
15c0: 69 65 77 56 61 72 69 61 62 6c 65 20 41 73 44 65 iewVariable AsDe
15d0: 70 74 68 53 74 65 6e 63 69 6c 56 69 65 77 28 29 pthStencilView()
15e0: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
15f0: 43 6f 6e 73 74 61 6e 74 42 75 66 66 65 72 20 41 ConstantBuffer A
1600: 73 43 6f 6e 73 74 61 6e 74 42 75 66 66 65 72 28 sConstantBuffer(
1610: 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 );...ID3D10Effec
1620: 74 53 68 61 64 65 72 56 61 72 69 61 62 6c 65 20 tShaderVariable
1630: 41 73 53 68 61 64 65 72 28 29 3b 0d 0a 09 49 44 AsShader();...ID
1640: 33 44 31 30 45 66 66 65 63 74 42 6c 65 6e 64 56 3D10EffectBlendV
1650: 61 72 69 61 62 6c 65 20 41 73 42 6c 65 6e 64 28 ariable AsBlend(
1660: 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 );...ID3D10Effec
1670: 74 44 65 70 74 68 53 74 65 6e 63 69 6c 56 61 72 tDepthStencilVar
1680: 69 61 62 6c 65 20 41 73 44 65 70 74 68 53 74 65 iable AsDepthSte
1690: 6e 63 69 6c 28 29 3b 0d 0a 09 49 44 33 44 31 30 ncil();...ID3D10
16a0: 45 66 66 65 63 74 52 61 73 74 65 72 69 7a 65 72 EffectRasterizer
16b0: 56 61 72 69 61 62 6c 65 20 41 73 52 61 73 74 65 Variable AsRaste
16c0: 72 69 7a 65 72 28 29 3b 0d 0a 09 49 44 33 44 31 rizer();...ID3D1
16d0: 30 45 66 66 65 63 74 53 61 6d 70 6c 65 72 56 61 0EffectSamplerVa
16e0: 72 69 61 62 6c 65 20 41 73 53 61 6d 70 6c 65 72 riable AsSampler
16f0: 28 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 ();...HRESULT Se
1700: 74 52 61 77 56 61 6c 75 65 28 76 6f 69 64 2a 20 tRawValue(void*
1710: 70 44 61 74 61 2c 20 55 49 4e 54 20 4f 66 66 73 pData, UINT Offs
1720: 65 74 2c 20 55 49 4e 54 20 43 6f 75 6e 74 29 3b et, UINT Count);
1730: 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 52 61 ...HRESULT GetRa
1740: 77 56 61 6c 75 65 28 76 6f 69 64 2a 20 70 44 61 wValue(void* pDa
1750: 74 61 2c 20 55 49 4e 54 20 4f 66 66 73 65 74 2c ta, UINT Offset,
1760: 20 55 49 4e 54 20 43 6f 75 6e 74 29 3b 0d 0a 09 UINT Count);...
1770: 2a 2f 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e 20 */..}....extern
1780: 28 43 29 20 63 6f 6e 73 74 20 47 55 49 44 20 49 (C) const GUID I
1790: 49 44 5f 49 44 33 44 31 30 45 66 66 65 63 74 53 ID_ID3D10EffectS
17a0: 63 61 6c 61 72 56 61 72 69 61 62 6c 65 20 3d 20 calarVariable =
17b0: 7b 30 78 65 34 38 66 37 62 2c 20 30 78 64 32 63 {0xe48f7b, 0xd2c
17c0: 38 2c 20 30 78 34 39 65 38 2c 20 5b 30 78 61 38 8, 0x49e8, [0xa8
17d0: 2c 20 30 78 36 63 2c 20 30 78 32 2c 20 30 78 32 , 0x6c, 0x2, 0x2
17e0: 64 2c 20 30 78 65 65 2c 20 30 78 35 33 2c 20 30 d, 0xee, 0x53, 0
17f0: 78 34 33 2c 20 30 78 31 66 5d 7d 3b 0d 0a 0d 0a x43, 0x1f]};....
1800: 69 6e 74 65 72 66 61 63 65 20 49 44 33 44 31 30 interface ID3D10
1810: 45 66 66 65 63 74 53 63 61 6c 61 72 56 61 72 69 EffectScalarVari
1820: 61 62 6c 65 20 3a 20 49 44 33 44 31 30 45 66 66 able : ID3D10Eff
1830: 65 63 74 56 61 72 69 61 62 6c 65 20 7b 0d 0a 2f ectVariable {../
1840: 2a 20 54 4f 44 4f 3a 20 66 69 78 20 76 74 62 6c * TODO: fix vtbl
1850: 5b 30 5d 20 62 75 67 0d 0a 09 65 78 74 65 72 6e [0] bug...extern
1860: 28 57 69 6e 64 6f 77 73 29 20 3a 0d 0a 09 42 4f (Windows) :...BO
1870: 4f 4c 20 49 73 56 61 6c 69 64 28 29 3b 0d 0a 09 OL IsValid();...
1880: 49 44 33 44 31 30 45 66 66 65 63 74 54 79 70 65 ID3D10EffectType
1890: 20 47 65 74 54 79 70 65 28 29 3b 0d 0a 09 48 52 GetType();...HR
18a0: 45 53 55 4c 54 20 47 65 74 44 65 73 63 28 44 33 ESULT GetDesc(D3
18b0: 44 31 30 5f 45 46 46 45 43 54 5f 56 41 52 49 41 D10_EFFECT_VARIA
18c0: 42 4c 45 5f 44 45 53 43 2a 20 70 44 65 73 63 29 BLE_DESC* pDesc)
18d0: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
18e0: 56 61 72 69 61 62 6c 65 20 47 65 74 41 6e 6e 6f Variable GetAnno
18f0: 74 61 74 69 6f 6e 42 79 49 6e 64 65 78 28 55 49 tationByIndex(UI
1900: 4e 54 20 49 6e 64 65 78 29 3b 0d 0a 09 49 44 33 NT Index);...ID3
1910: 44 31 30 45 66 66 65 63 74 56 61 72 69 61 62 6c D10EffectVariabl
1920: 65 20 47 65 74 41 6e 6e 6f 74 61 74 69 6f 6e 42 e GetAnnotationB
1930: 79 4e 61 6d 65 28 4c 50 43 53 54 52 20 4e 61 6d yName(LPCSTR Nam
1940: 65 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 e);...ID3D10Effe
1950: 63 74 56 61 72 69 61 62 6c 65 20 47 65 74 4d 65 ctVariable GetMe
1960: 6d 62 65 72 42 79 49 6e 64 65 78 28 55 49 4e 54 mberByIndex(UINT
1970: 20 49 6e 64 65 78 29 3b 0d 0a 09 49 44 33 44 31 Index);...ID3D1
1980: 30 45 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 0EffectVariable
1990: 47 65 74 4d 65 6d 62 65 72 42 79 4e 61 6d 65 28 GetMemberByName(
19a0: 4c 50 43 53 54 52 20 4e 61 6d 65 29 3b 0d 0a 09 LPCSTR Name);...
19b0: 49 44 33 44 31 30 45 66 66 65 63 74 56 61 72 69 ID3D10EffectVari
19c0: 61 62 6c 65 20 47 65 74 4d 65 6d 62 65 72 42 79 able GetMemberBy
19d0: 53 65 6d 61 6e 74 69 63 28 4c 50 43 53 54 52 20 Semantic(LPCSTR
19e0: 53 65 6d 61 6e 74 69 63 29 3b 0d 0a 09 49 44 33 Semantic);...ID3
19f0: 44 31 30 45 66 66 65 63 74 56 61 72 69 61 62 6c D10EffectVariabl
1a00: 65 20 47 65 74 45 6c 65 6d 65 6e 74 28 55 49 4e e GetElement(UIN
1a10: 54 20 49 6e 64 65 78 29 3b 0d 0a 09 49 44 33 44 T Index);...ID3D
1a20: 31 30 45 66 66 65 63 74 43 6f 6e 73 74 61 6e 74 10EffectConstant
1a30: 42 75 66 66 65 72 20 47 65 74 50 61 72 65 6e 74 Buffer GetParent
1a40: 43 6f 6e 73 74 61 6e 74 42 75 66 66 65 72 28 29 ConstantBuffer()
1a50: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
1a60: 53 63 61 6c 61 72 56 61 72 69 61 62 6c 65 20 41 ScalarVariable A
1a70: 73 53 63 61 6c 61 72 28 29 3b 0d 0a 09 49 44 33 sScalar();...ID3
1a80: 44 31 30 45 66 66 65 63 74 56 65 63 74 6f 72 56 D10EffectVectorV
1a90: 61 72 69 61 62 6c 65 20 41 73 56 65 63 74 6f 72 ariable AsVector
1aa0: 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 ();...ID3D10Effe
1ab0: 63 74 4d 61 74 72 69 78 56 61 72 69 61 62 6c 65 ctMatrixVariable
1ac0: 20 41 73 4d 61 74 72 69 78 28 29 3b 0d 0a 09 49 AsMatrix();...I
1ad0: 44 33 44 31 30 45 66 66 65 63 74 53 74 72 69 6e D3D10EffectStrin
1ae0: 67 56 61 72 69 61 62 6c 65 20 41 73 53 74 72 69 gVariable AsStri
1af0: 6e 67 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 ng();...ID3D10Ef
1b00: 66 65 63 74 53 68 61 64 65 72 52 65 73 6f 75 72 fectShaderResour
1b10: 63 65 56 61 72 69 61 62 6c 65 20 41 73 53 68 61 ceVariable AsSha
1b20: 64 65 72 52 65 73 6f 75 72 63 65 28 29 3b 0d 0a derResource();..
1b30: 09 49 44 33 44 31 30 45 66 66 65 63 74 52 65 6e .ID3D10EffectRen
1b40: 64 65 72 54 61 72 67 65 74 56 69 65 77 56 61 72 derTargetViewVar
1b50: 69 61 62 6c 65 20 41 73 52 65 6e 64 65 72 54 61 iable AsRenderTa
1b60: 72 67 65 74 56 69 65 77 28 29 3b 0d 0a 09 49 44 rgetView();...ID
1b70: 33 44 31 30 45 66 66 65 63 74 44 65 70 74 68 53 3D10EffectDepthS
1b80: 74 65 6e 63 69 6c 56 69 65 77 56 61 72 69 61 62 tencilViewVariab
1b90: 6c 65 20 41 73 44 65 70 74 68 53 74 65 6e 63 69 le AsDepthStenci
1ba0: 6c 56 69 65 77 28 29 3b 0d 0a 09 49 44 33 44 31 lView();...ID3D1
1bb0: 30 45 66 66 65 63 74 43 6f 6e 73 74 61 6e 74 42 0EffectConstantB
1bc0: 75 66 66 65 72 20 41 73 43 6f 6e 73 74 61 6e 74 uffer AsConstant
1bd0: 42 75 66 66 65 72 28 29 3b 0d 0a 09 49 44 33 44 Buffer();...ID3D
1be0: 31 30 45 66 66 65 63 74 53 68 61 64 65 72 56 61 10EffectShaderVa
1bf0: 72 69 61 62 6c 65 20 41 73 53 68 61 64 65 72 28 riable AsShader(
1c00: 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 );...ID3D10Effec
1c10: 74 42 6c 65 6e 64 56 61 72 69 61 62 6c 65 20 41 tBlendVariable A
1c20: 73 42 6c 65 6e 64 28 29 3b 0d 0a 09 49 44 33 44 sBlend();...ID3D
1c30: 31 30 45 66 66 65 63 74 44 65 70 74 68 53 74 65 10EffectDepthSte
1c40: 6e 63 69 6c 56 61 72 69 61 62 6c 65 20 41 73 44 ncilVariable AsD
1c50: 65 70 74 68 53 74 65 6e 63 69 6c 28 29 3b 0d 0a epthStencil();..
1c60: 09 49 44 33 44 31 30 45 66 66 65 63 74 52 61 73 .ID3D10EffectRas
1c70: 74 65 72 69 7a 65 72 56 61 72 69 61 62 6c 65 20 terizerVariable
1c80: 41 73 52 61 73 74 65 72 69 7a 65 72 28 29 3b 0d AsRasterizer();.
1c90: 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 53 61 ..ID3D10EffectSa
1ca0: 6d 70 6c 65 72 56 61 72 69 61 62 6c 65 20 41 73 mplerVariable As
1cb0: 53 61 6d 70 6c 65 72 28 29 3b 0d 0a 09 48 52 45 Sampler();...HRE
1cc0: 53 55 4c 54 20 53 65 74 52 61 77 56 61 6c 75 65 SULT SetRawValue
1cd0: 28 76 6f 69 64 2a 20 70 44 61 74 61 2c 20 55 49 (void* pData, UI
1ce0: 4e 54 20 42 79 74 65 4f 66 66 73 65 74 2c 20 55 NT ByteOffset, U
1cf0: 49 4e 54 20 42 79 74 65 43 6f 75 6e 74 29 3b 0d INT ByteCount);.
1d00: 0a 09 48 52 45 53 55 4c 54 20 47 65 74 52 61 77 ..HRESULT GetRaw
1d10: 56 61 6c 75 65 28 76 6f 69 64 2a 20 70 44 61 74 Value(void* pDat
1d20: 61 2c 20 55 49 4e 54 20 42 79 74 65 4f 66 66 73 a, UINT ByteOffs
1d30: 65 74 2c 20 55 49 4e 54 20 42 79 74 65 43 6f 75 et, UINT ByteCou
1d40: 6e 74 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 nt);...HRESULT S
1d50: 65 74 46 6c 6f 61 74 28 66 6c 6f 61 74 20 56 61 etFloat(float Va
1d60: 6c 75 65 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 lue);...HRESULT
1d70: 47 65 74 46 6c 6f 61 74 28 66 6c 6f 61 74 2a 20 GetFloat(float*
1d80: 70 56 61 6c 75 65 29 3b 20 20 20 20 0d 0a 09 48 pValue); ...H
1d90: 52 45 53 55 4c 54 20 53 65 74 46 6c 6f 61 74 41 RESULT SetFloatA
1da0: 72 72 61 79 28 66 6c 6f 61 74 2a 20 70 44 61 74 rray(float* pDat
1db0: 61 2c 20 55 49 4e 54 20 4f 66 66 73 65 74 2c 20 a, UINT Offset,
1dc0: 55 49 4e 54 20 43 6f 75 6e 74 29 3b 0d 0a 09 48 UINT Count);...H
1dd0: 52 45 53 55 4c 54 20 47 65 74 46 6c 6f 61 74 41 RESULT GetFloatA
1de0: 72 72 61 79 28 66 6c 6f 61 74 2a 20 70 44 61 74 rray(float* pDat
1df0: 61 2c 20 55 49 4e 54 20 4f 66 66 73 65 74 2c 20 a, UINT Offset,
1e00: 55 49 4e 54 20 43 6f 75 6e 74 29 3b 0d 0a 09 48 UINT Count);...H
1e10: 52 45 53 55 4c 54 20 53 65 74 49 6e 74 28 69 6e RESULT SetInt(in
1e20: 74 20 56 61 6c 75 65 29 3b 0d 0a 09 48 52 45 53 t Value);...HRES
1e30: 55 4c 54 20 47 65 74 49 6e 74 28 69 6e 74 2a 20 ULT GetInt(int*
1e40: 70 56 61 6c 75 65 29 3b 0d 0a 09 48 52 45 53 55 pValue);...HRESU
1e50: 4c 54 20 53 65 74 49 6e 74 41 72 72 61 79 28 69 LT SetIntArray(i
1e60: 6e 74 2a 20 70 44 61 74 61 2c 20 55 49 4e 54 20 nt* pData, UINT
1e70: 4f 66 66 73 65 74 2c 20 55 49 4e 54 20 43 6f 75 Offset, UINT Cou
1e80: 6e 74 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 nt);...HRESULT G
1e90: 65 74 49 6e 74 41 72 72 61 79 28 69 6e 74 2a 20 etIntArray(int*
1ea0: 70 44 61 74 61 2c 20 55 49 4e 54 20 4f 66 66 73 pData, UINT Offs
1eb0: 65 74 2c 20 55 49 4e 54 20 43 6f 75 6e 74 29 3b et, UINT Count);
1ec0: 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 74 42 6f ...HRESULT SetBo
1ed0: 6f 6c 28 42 4f 4f 4c 20 56 61 6c 75 65 29 3b 0d ol(BOOL Value);.
1ee0: 0a 09 48 52 45 53 55 4c 54 20 47 65 74 42 6f 6f ..HRESULT GetBoo
1ef0: 6c 28 42 4f 4f 4c 2a 20 70 56 61 6c 75 65 29 3b l(BOOL* pValue);
1f00: 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 74 42 6f ...HRESULT SetBo
1f10: 6f 6c 41 72 72 61 79 28 42 4f 4f 4c 2a 20 70 44 olArray(BOOL* pD
1f20: 61 74 61 2c 20 55 49 4e 54 20 4f 66 66 73 65 74 ata, UINT Offset
1f30: 2c 20 55 49 4e 54 20 43 6f 75 6e 74 29 3b 0d 0a , UINT Count);..
1f40: 09 48 52 45 53 55 4c 54 20 47 65 74 42 6f 6f 6c .HRESULT GetBool
1f50: 41 72 72 61 79 28 42 4f 4f 4c 2a 20 70 44 61 74 Array(BOOL* pDat
1f60: 61 2c 20 55 49 4e 54 20 4f 66 66 73 65 74 2c 20 a, UINT Offset,
1f70: 55 49 4e 54 20 43 6f 75 6e 74 29 3b 0d 0a 09 2a UINT Count);...*
1f80: 2f 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 /..}....extern (
1f90: 43 29 20 63 6f 6e 73 74 20 47 55 49 44 20 49 49 C) const GUID II
1fa0: 44 5f 49 44 33 44 31 30 45 66 66 65 63 74 56 65 D_ID3D10EffectVe
1fb0: 63 74 6f 72 56 61 72 69 61 62 6c 65 20 3d 20 7b ctorVariable = {
1fc0: 30 78 36 32 62 39 38 63 34 34 2c 20 30 78 31 66 0x62b98c44, 0x1f
1fd0: 38 32 2c 20 30 78 34 63 36 37 2c 20 5b 30 78 62 82, 0x4c67, [0xb
1fe0: 63 2c 20 30 78 64 30 2c 20 30 78 37 32 2c 20 30 c, 0xd0, 0x72, 0
1ff0: 78 63 66 2c 20 30 78 38 66 2c 20 30 78 32 31 2c xcf, 0x8f, 0x21,
2000: 20 30 78 37 65 2c 20 30 78 38 31 5d 7d 3b 0d 0a 0x7e, 0x81]};..
2010: 0d 0a 69 6e 74 65 72 66 61 63 65 20 49 44 33 44 ..interface ID3D
2020: 31 30 45 66 66 65 63 74 56 65 63 74 6f 72 56 61 10EffectVectorVa
2030: 72 69 61 62 6c 65 20 3a 20 49 44 33 44 31 30 45 riable : ID3D10E
2040: 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 7b 0d ffectVariable {.
2050: 0a 2f 2a 20 54 4f 44 4f 3a 20 66 69 78 20 76 74 ./* TODO: fix vt
2060: 62 6c 5b 30 5d 20 62 75 67 0d 0a 09 65 78 74 65 bl[0] bug...exte
2070: 72 6e 28 57 69 6e 64 6f 77 73 29 20 3a 0d 0a 09 rn(Windows) :...
2080: 42 4f 4f 4c 20 49 73 56 61 6c 69 64 28 29 3b 0d BOOL IsValid();.
2090: 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 54 79 ..ID3D10EffectTy
20a0: 70 65 20 47 65 74 54 79 70 65 28 29 3b 0d 0a 09 pe GetType();...
20b0: 48 52 45 53 55 4c 54 20 47 65 74 44 65 73 63 28 HRESULT GetDesc(
20c0: 44 33 44 31 30 5f 45 46 46 45 43 54 5f 56 41 52 D3D10_EFFECT_VAR
20d0: 49 41 42 4c 45 5f 44 45 53 43 2a 20 70 44 65 73 IABLE_DESC* pDes
20e0: 63 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 c);...ID3D10Effe
20f0: 63 74 56 61 72 69 61 62 6c 65 20 47 65 74 41 6e ctVariable GetAn
2100: 6e 6f 74 61 74 69 6f 6e 42 79 49 6e 64 65 78 28 notationByIndex(
2110: 55 49 4e 54 20 49 6e 64 65 78 29 3b 0d 0a 09 49 UINT Index);...I
2120: 44 33 44 31 30 45 66 66 65 63 74 56 61 72 69 61 D3D10EffectVaria
2130: 62 6c 65 20 47 65 74 41 6e 6e 6f 74 61 74 69 6f ble GetAnnotatio
2140: 6e 42 79 4e 61 6d 65 28 4c 50 43 53 54 52 20 4e nByName(LPCSTR N
2150: 61 6d 65 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 ame);...ID3D10Ef
2160: 66 65 63 74 56 61 72 69 61 62 6c 65 20 47 65 74 fectVariable Get
2170: 4d 65 6d 62 65 72 42 79 49 6e 64 65 78 28 55 49 MemberByIndex(UI
2180: 4e 54 20 49 6e 64 65 78 29 3b 0d 0a 09 49 44 33 NT Index);...ID3
2190: 44 31 30 45 66 66 65 63 74 56 61 72 69 61 62 6c D10EffectVariabl
21a0: 65 20 47 65 74 4d 65 6d 62 65 72 42 79 4e 61 6d e GetMemberByNam
21b0: 65 28 4c 50 43 53 54 52 20 4e 61 6d 65 29 3b 0d e(LPCSTR Name);.
21c0: 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 56 61 ..ID3D10EffectVa
21d0: 72 69 61 62 6c 65 20 47 65 74 4d 65 6d 62 65 72 riable GetMember
21e0: 42 79 53 65 6d 61 6e 74 69 63 28 4c 50 43 53 54 BySemantic(LPCST
21f0: 52 20 53 65 6d 61 6e 74 69 63 29 3b 0d 0a 09 49 R Semantic);...I
2200: 44 33 44 31 30 45 66 66 65 63 74 56 61 72 69 61 D3D10EffectVaria
2210: 62 6c 65 20 47 65 74 45 6c 65 6d 65 6e 74 28 55 ble GetElement(U
2220: 49 4e 54 20 49 6e 64 65 78 29 3b 0d 0a 09 49 44 INT Index);...ID
2230: 33 44 31 30 45 66 66 65 63 74 43 6f 6e 73 74 61 3D10EffectConsta
2240: 6e 74 42 75 66 66 65 72 20 47 65 74 50 61 72 65 ntBuffer GetPare
2250: 6e 74 43 6f 6e 73 74 61 6e 74 42 75 66 66 65 72 ntConstantBuffer
2260: 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 ();...ID3D10Effe
2270: 63 74 53 63 61 6c 61 72 56 61 72 69 61 62 6c 65 ctScalarVariable
2280: 20 41 73 53 63 61 6c 61 72 28 29 3b 0d 0a 09 49 AsScalar();...I
2290: 44 33 44 31 30 45 66 66 65 63 74 56 65 63 74 6f D3D10EffectVecto
22a0: 72 56 61 72 69 61 62 6c 65 20 41 73 56 65 63 74 rVariable AsVect
22b0: 6f 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 or();...ID3D10Ef
22c0: 66 65 63 74 4d 61 74 72 69 78 56 61 72 69 61 62 fectMatrixVariab
22d0: 6c 65 20 41 73 4d 61 74 72 69 78 28 29 3b 0d 0a le AsMatrix();..
22e0: 09 49 44 33 44 31 30 45 66 66 65 63 74 53 74 72 .ID3D10EffectStr
22f0: 69 6e 67 56 61 72 69 61 62 6c 65 20 41 73 53 74 ingVariable AsSt
2300: 72 69 6e 67 28 29 3b 20 0d 0a 09 49 44 33 44 31 ring(); ...ID3D1
2310: 30 45 66 66 65 63 74 53 68 61 64 65 72 52 65 73 0EffectShaderRes
2320: 6f 75 72 63 65 56 61 72 69 61 62 6c 65 20 41 73 ourceVariable As
2330: 53 68 61 64 65 72 52 65 73 6f 75 72 63 65 28 29 ShaderResource()
2340: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
2350: 52 65 6e 64 65 72 54 61 72 67 65 74 56 69 65 77 RenderTargetView
2360: 56 61 72 69 61 62 6c 65 20 41 73 52 65 6e 64 65 Variable AsRende
2370: 72 54 61 72 67 65 74 56 69 65 77 28 29 3b 0d 0a rTargetView();..
2380: 09 49 44 33 44 31 30 45 66 66 65 63 74 44 65 70 .ID3D10EffectDep
2390: 74 68 53 74 65 6e 63 69 6c 56 69 65 77 56 61 72 thStencilViewVar
23a0: 69 61 62 6c 65 20 41 73 44 65 70 74 68 53 74 65 iable AsDepthSte
23b0: 6e 63 69 6c 56 69 65 77 28 29 3b 0d 0a 09 49 44 ncilView();...ID
23c0: 33 44 31 30 45 66 66 65 63 74 43 6f 6e 73 74 61 3D10EffectConsta
23d0: 6e 74 42 75 66 66 65 72 20 41 73 43 6f 6e 73 74 ntBuffer AsConst
23e0: 61 6e 74 42 75 66 66 65 72 28 29 3b 0d 0a 09 49 antBuffer();...I
23f0: 44 33 44 31 30 45 66 66 65 63 74 53 68 61 64 65 D3D10EffectShade
2400: 72 56 61 72 69 61 62 6c 65 20 41 73 53 68 61 64 rVariable AsShad
2410: 65 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 er();...ID3D10Ef
2420: 66 65 63 74 42 6c 65 6e 64 56 61 72 69 61 62 6c fectBlendVariabl
2430: 65 20 41 73 42 6c 65 6e 64 28 29 3b 0d 0a 09 49 e AsBlend();...I
2440: 44 33 44 31 30 45 66 66 65 63 74 44 65 70 74 68 D3D10EffectDepth
2450: 53 74 65 6e 63 69 6c 56 61 72 69 61 62 6c 65 20 StencilVariable
2460: 41 73 44 65 70 74 68 53 74 65 6e 63 69 6c 28 29 AsDepthStencil()
2470: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
2480: 52 61 73 74 65 72 69 7a 65 72 56 61 72 69 61 62 RasterizerVariab
2490: 6c 65 20 41 73 52 61 73 74 65 72 69 7a 65 72 28 le AsRasterizer(
24a0: 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 );...ID3D10Effec
24b0: 74 53 61 6d 70 6c 65 72 56 61 72 69 61 62 6c 65 tSamplerVariable
24c0: 20 41 73 53 61 6d 70 6c 65 72 28 29 3b 0d 0a 09 AsSampler();...
24d0: 48 52 45 53 55 4c 54 20 53 65 74 52 61 77 56 61 HRESULT SetRawVa
24e0: 6c 75 65 28 76 6f 69 64 2a 20 70 44 61 74 61 2c lue(void* pData,
24f0: 20 55 49 4e 54 20 42 79 74 65 4f 66 66 73 65 74 UINT ByteOffset
2500: 2c 20 55 49 4e 54 20 42 79 74 65 43 6f 75 6e 74 , UINT ByteCount
2510: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 );...HRESULT Get
2520: 52 61 77 56 61 6c 75 65 28 76 6f 69 64 2a 20 70 RawValue(void* p
2530: 44 61 74 61 2c 20 55 49 4e 54 20 42 79 74 65 4f Data, UINT ByteO
2540: 66 66 73 65 74 2c 20 55 49 4e 54 20 42 79 74 65 ffset, UINT Byte
2550: 43 6f 75 6e 74 29 3b 0d 0a 09 48 52 45 53 55 4c Count);...HRESUL
2560: 54 20 53 65 74 42 6f 6f 6c 56 65 63 74 6f 72 20 T SetBoolVector
2570: 28 42 4f 4f 4c 2a 20 70 44 61 74 61 29 3b 0d 0a (BOOL* pData);..
2580: 09 48 52 45 53 55 4c 54 20 53 65 74 49 6e 74 56 .HRESULT SetIntV
2590: 65 63 74 6f 72 20 20 28 69 6e 74 2a 20 70 44 61 ector (int* pDa
25a0: 74 61 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 ta);...HRESULT S
25b0: 65 74 46 6c 6f 61 74 56 65 63 74 6f 72 28 66 6c etFloatVector(fl
25c0: 6f 61 74 2a 20 70 44 61 74 61 29 3b 0d 0a 09 48 oat* pData);...H
25d0: 52 45 53 55 4c 54 20 47 65 74 42 6f 6f 6c 56 65 RESULT GetBoolVe
25e0: 63 74 6f 72 20 28 42 4f 4f 4c 2a 20 70 44 61 74 ctor (BOOL* pDat
25f0: 61 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 a);...HRESULT Ge
2600: 74 49 6e 74 56 65 63 74 6f 72 20 20 28 69 6e 74 tIntVector (int
2610: 2a 20 70 44 61 74 61 29 3b 0d 0a 09 48 52 45 53 * pData);...HRES
2620: 55 4c 54 20 47 65 74 46 6c 6f 61 74 56 65 63 74 ULT GetFloatVect
2630: 6f 72 28 66 6c 6f 61 74 2a 20 70 44 61 74 61 29 or(float* pData)
2640: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 74 42 ;...HRESULT SetB
2650: 6f 6f 6c 56 65 63 74 6f 72 41 72 72 61 79 20 28 oolVectorArray (
2660: 42 4f 4f 4c 2a 20 70 44 61 74 61 2c 20 55 49 4e BOOL* pData, UIN
2670: 54 20 4f 66 66 73 65 74 2c 20 55 49 4e 54 20 43 T Offset, UINT C
2680: 6f 75 6e 74 29 3b 0d 0a 09 48 52 45 53 55 4c 54 ount);...HRESULT
2690: 20 53 65 74 49 6e 74 56 65 63 74 6f 72 41 72 72 SetIntVectorArr
26a0: 61 79 20 20 28 69 6e 74 2a 20 70 44 61 74 61 2c ay (int* pData,
26b0: 20 55 49 4e 54 20 4f 66 66 73 65 74 2c 20 55 49 UINT Offset, UI
26c0: 4e 54 20 43 6f 75 6e 74 29 3b 0d 0a 09 48 52 45 NT Count);...HRE
26d0: 53 55 4c 54 20 53 65 74 46 6c 6f 61 74 56 65 63 SULT SetFloatVec
26e0: 74 6f 72 41 72 72 61 79 28 66 6c 6f 61 74 2a 20 torArray(float*
26f0: 70 44 61 74 61 2c 20 55 49 4e 54 20 4f 66 66 73 pData, UINT Offs
2700: 65 74 2c 20 55 49 4e 54 20 43 6f 75 6e 74 29 3b et, UINT Count);
2710: 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 42 6f ...HRESULT GetBo
2720: 6f 6c 56 65 63 74 6f 72 41 72 72 61 79 20 28 42 olVectorArray (B
2730: 4f 4f 4c 2a 20 70 44 61 74 61 2c 20 55 49 4e 54 OOL* pData, UINT
2740: 20 4f 66 66 73 65 74 2c 20 55 49 4e 54 20 43 6f Offset, UINT Co
2750: 75 6e 74 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 unt);...HRESULT
2760: 47 65 74 49 6e 74 56 65 63 74 6f 72 41 72 72 61 GetIntVectorArra
2770: 79 20 20 28 69 6e 74 2a 20 70 44 61 74 61 2c 20 y (int* pData,
2780: 55 49 4e 54 20 4f 66 66 73 65 74 2c 20 55 49 4e UINT Offset, UIN
2790: 54 20 43 6f 75 6e 74 29 3b 0d 0a 09 48 52 45 53 T Count);...HRES
27a0: 55 4c 54 20 47 65 74 46 6c 6f 61 74 56 65 63 74 ULT GetFloatVect
27b0: 6f 72 41 72 72 61 79 28 66 6c 6f 61 74 2a 20 70 orArray(float* p
27c0: 44 61 74 61 2c 20 55 49 4e 54 20 4f 66 66 73 65 Data, UINT Offse
27d0: 74 2c 20 55 49 4e 54 20 43 6f 75 6e 74 29 3b 0d t, UINT Count);.
27e0: 0a 09 2a 2f 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 72 ..*/..}....exter
27f0: 6e 20 28 43 29 20 63 6f 6e 73 74 20 47 55 49 44 n (C) const GUID
2800: 20 49 49 44 5f 49 44 33 44 31 30 45 66 66 65 63 IID_ID3D10Effec
2810: 74 4d 61 74 72 69 78 56 61 72 69 61 62 6c 65 20 tMatrixVariable
2820: 3d 20 7b 30 78 35 30 36 36 36 63 32 34 2c 20 30 = {0x50666c24, 0
2830: 78 62 38 32 66 2c 20 30 78 34 65 65 64 2c 20 5b xb82f, 0x4eed, [
2840: 30 78 61 31 2c 20 30 78 37 32 2c 20 30 78 35 62 0xa1, 0x72, 0x5b
2850: 2c 20 30 78 36 65 2c 20 30 78 37 65 2c 20 30 78 , 0x6e, 0x7e, 0x
2860: 38 35 2c 20 30 78 32 32 2c 20 30 78 65 30 5d 7d 85, 0x22, 0xe0]}
2870: 3b 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 49 ;....interface I
2880: 44 33 44 31 30 45 66 66 65 63 74 4d 61 74 72 69 D3D10EffectMatri
2890: 78 56 61 72 69 61 62 6c 65 20 3a 20 49 44 33 44 xVariable : ID3D
28a0: 31 30 45 66 66 65 63 74 56 61 72 69 61 62 6c 65 10EffectVariable
28b0: 20 7b 0d 0a 2f 2a 20 54 4f 44 4f 3a 20 66 69 78 {../* TODO: fix
28c0: 20 76 74 62 6c 5b 30 5d 20 62 75 67 0d 0a 09 65 vtbl[0] bug...e
28d0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 3a xtern(Windows) :
28e0: 0d 0a 09 42 4f 4f 4c 20 49 73 56 61 6c 69 64 28 ...BOOL IsValid(
28f0: 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 );...ID3D10Effec
2900: 74 54 79 70 65 20 47 65 74 54 79 70 65 28 29 3b tType GetType();
2910: 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 44 65 ...HRESULT GetDe
2920: 73 63 28 44 33 44 31 30 5f 45 46 46 45 43 54 5f sc(D3D10_EFFECT_
2930: 56 41 52 49 41 42 4c 45 5f 44 45 53 43 2a 20 70 VARIABLE_DESC* p
2940: 44 65 73 63 29 3b 0d 0a 09 49 44 33 44 31 30 45 Desc);...ID3D10E
2950: 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 47 65 ffectVariable Ge
2960: 74 41 6e 6e 6f 74 61 74 69 6f 6e 42 79 49 6e 64 tAnnotationByInd
2970: 65 78 28 55 49 4e 54 20 49 6e 64 65 78 29 3b 0d ex(UINT Index);.
2980: 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 56 61 ..ID3D10EffectVa
2990: 72 69 61 62 6c 65 20 47 65 74 41 6e 6e 6f 74 61 riable GetAnnota
29a0: 74 69 6f 6e 42 79 4e 61 6d 65 28 4c 50 43 53 54 tionByName(LPCST
29b0: 52 20 4e 61 6d 65 29 3b 0d 0a 09 49 44 33 44 31 R Name);...ID3D1
29c0: 30 45 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 0EffectVariable
29d0: 47 65 74 4d 65 6d 62 65 72 42 79 49 6e 64 65 78 GetMemberByIndex
29e0: 28 55 49 4e 54 20 49 6e 64 65 78 29 3b 0d 0a 09 (UINT Index);...
29f0: 49 44 33 44 31 30 45 66 66 65 63 74 56 61 72 69 ID3D10EffectVari
2a00: 61 62 6c 65 20 47 65 74 4d 65 6d 62 65 72 42 79 able GetMemberBy
2a10: 4e 61 6d 65 28 4c 50 43 53 54 52 20 4e 61 6d 65 Name(LPCSTR Name
2a20: 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 );...ID3D10Effec
2a30: 74 56 61 72 69 61 62 6c 65 20 47 65 74 4d 65 6d tVariable GetMem
2a40: 62 65 72 42 79 53 65 6d 61 6e 74 69 63 28 4c 50 berBySemantic(LP
2a50: 43 53 54 52 20 53 65 6d 61 6e 74 69 63 29 3b 0d CSTR Semantic);.
2a60: 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 56 61 ..ID3D10EffectVa
2a70: 72 69 61 62 6c 65 20 47 65 74 45 6c 65 6d 65 6e riable GetElemen
2a80: 74 28 55 49 4e 54 20 49 6e 64 65 78 29 3b 0d 0a t(UINT Index);..
2a90: 09 49 44 33 44 31 30 45 66 66 65 63 74 43 6f 6e .ID3D10EffectCon
2aa0: 73 74 61 6e 74 42 75 66 66 65 72 20 47 65 74 50 stantBuffer GetP
2ab0: 61 72 65 6e 74 43 6f 6e 73 74 61 6e 74 42 75 66 arentConstantBuf
2ac0: 66 65 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 fer();...ID3D10E
2ad0: 66 66 65 63 74 53 63 61 6c 61 72 56 61 72 69 61 ffectScalarVaria
2ae0: 62 6c 65 20 41 73 53 63 61 6c 61 72 28 29 3b 0d ble AsScalar();.
2af0: 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 56 65 ..ID3D10EffectVe
2b00: 63 74 6f 72 56 61 72 69 61 62 6c 65 20 41 73 56 ctorVariable AsV
2b10: 65 63 74 6f 72 28 29 3b 0d 0a 09 49 44 33 44 31 ector();...ID3D1
2b20: 30 45 66 66 65 63 74 4d 61 74 72 69 78 56 61 72 0EffectMatrixVar
2b30: 69 61 62 6c 65 20 41 73 4d 61 74 72 69 78 28 29 iable AsMatrix()
2b40: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
2b50: 53 74 72 69 6e 67 56 61 72 69 61 62 6c 65 20 41 StringVariable A
2b60: 73 53 74 72 69 6e 67 28 29 3b 0d 0a 09 49 44 33 sString();...ID3
2b70: 44 31 30 45 66 66 65 63 74 53 68 61 64 65 72 52 D10EffectShaderR
2b80: 65 73 6f 75 72 63 65 56 61 72 69 61 62 6c 65 20 esourceVariable
2b90: 41 73 53 68 61 64 65 72 52 65 73 6f 75 72 63 65 AsShaderResource
2ba0: 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 ();...ID3D10Effe
2bb0: 63 74 52 65 6e 64 65 72 54 61 72 67 65 74 56 69 ctRenderTargetVi
2bc0: 65 77 56 61 72 69 61 62 6c 65 20 41 73 52 65 6e ewVariable AsRen
2bd0: 64 65 72 54 61 72 67 65 74 56 69 65 77 28 29 3b derTargetView();
2be0: 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 44 ...ID3D10EffectD
2bf0: 65 70 74 68 53 74 65 6e 63 69 6c 56 69 65 77 56 epthStencilViewV
2c00: 61 72 69 61 62 6c 65 20 41 73 44 65 70 74 68 53 ariable AsDepthS
2c10: 74 65 6e 63 69 6c 56 69 65 77 28 29 3b 0d 0a 09 tencilView();...
2c20: 49 44 33 44 31 30 45 66 66 65 63 74 43 6f 6e 73 ID3D10EffectCons
2c30: 74 61 6e 74 42 75 66 66 65 72 20 41 73 43 6f 6e tantBuffer AsCon
2c40: 73 74 61 6e 74 42 75 66 66 65 72 28 29 3b 0d 0a stantBuffer();..
2c50: 09 49 44 33 44 31 30 45 66 66 65 63 74 53 68 61 .ID3D10EffectSha
2c60: 64 65 72 56 61 72 69 61 62 6c 65 20 41 73 53 68 derVariable AsSh
2c70: 61 64 65 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 ader();...ID3D10
2c80: 45 66 66 65 63 74 42 6c 65 6e 64 56 61 72 69 61 EffectBlendVaria
2c90: 62 6c 65 20 41 73 42 6c 65 6e 64 28 29 3b 0d 0a ble AsBlend();..
2ca0: 09 49 44 33 44 31 30 45 66 66 65 63 74 44 65 70 .ID3D10EffectDep
2cb0: 74 68 53 74 65 6e 63 69 6c 56 61 72 69 61 62 6c thStencilVariabl
2cc0: 65 20 41 73 44 65 70 74 68 53 74 65 6e 63 69 6c e AsDepthStencil
2cd0: 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 ();...ID3D10Effe
2ce0: 63 74 52 61 73 74 65 72 69 7a 65 72 56 61 72 69 ctRasterizerVari
2cf0: 61 62 6c 65 20 41 73 52 61 73 74 65 72 69 7a 65 able AsRasterize
2d00: 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 r();...ID3D10Eff
2d10: 65 63 74 53 61 6d 70 6c 65 72 56 61 72 69 61 62 ectSamplerVariab
2d20: 6c 65 20 41 73 53 61 6d 70 6c 65 72 28 29 3b 0d le AsSampler();.
2d30: 0a 09 48 52 45 53 55 4c 54 20 53 65 74 52 61 77 ..HRESULT SetRaw
2d40: 56 61 6c 75 65 28 76 6f 69 64 2a 20 70 44 61 74 Value(void* pDat
2d50: 61 2c 20 55 49 4e 54 20 42 79 74 65 4f 66 66 73 a, UINT ByteOffs
2d60: 65 74 2c 20 55 49 4e 54 20 42 79 74 65 43 6f 75 et, UINT ByteCou
2d70: 6e 74 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 nt);...HRESULT G
2d80: 65 74 52 61 77 56 61 6c 75 65 28 76 6f 69 64 2a etRawValue(void*
2d90: 20 70 44 61 74 61 2c 20 55 49 4e 54 20 42 79 74 pData, UINT Byt
2da0: 65 4f 66 66 73 65 74 2c 20 55 49 4e 54 20 42 79 eOffset, UINT By
2db0: 74 65 43 6f 75 6e 74 29 3b 0d 0a 09 48 52 45 53 teCount);...HRES
2dc0: 55 4c 54 20 53 65 74 4d 61 74 72 69 78 28 66 6c ULT SetMatrix(fl
2dd0: 6f 61 74 2a 20 70 44 61 74 61 29 3b 0d 0a 09 48 oat* pData);...H
2de0: 52 45 53 55 4c 54 20 47 65 74 4d 61 74 72 69 78 RESULT GetMatrix
2df0: 28 66 6c 6f 61 74 2a 20 70 44 61 74 61 29 3b 0d (float* pData);.
2e00: 0a 09 48 52 45 53 55 4c 54 20 53 65 74 4d 61 74 ..HRESULT SetMat
2e10: 72 69 78 41 72 72 61 79 28 66 6c 6f 61 74 2a 20 rixArray(float*
2e20: 70 44 61 74 61 2c 20 55 49 4e 54 20 4f 66 66 73 pData, UINT Offs
2e30: 65 74 2c 20 55 49 4e 54 20 43 6f 75 6e 74 29 3b et, UINT Count);
2e40: 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 4d 61 ...HRESULT GetMa
2e50: 74 72 69 78 41 72 72 61 79 28 66 6c 6f 61 74 2a trixArray(float*
2e60: 20 70 44 61 74 61 2c 20 55 49 4e 54 20 4f 66 66 pData, UINT Off
2e70: 73 65 74 2c 20 55 49 4e 54 20 43 6f 75 6e 74 29 set, UINT Count)
2e80: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 74 4d ;...HRESULT SetM
2e90: 61 74 72 69 78 54 72 61 6e 73 70 6f 73 65 28 66 atrixTranspose(f
2ea0: 6c 6f 61 74 2a 20 70 44 61 74 61 29 3b 0d 0a 09 loat* pData);...
2eb0: 48 52 45 53 55 4c 54 20 47 65 74 4d 61 74 72 69 HRESULT GetMatri
2ec0: 78 54 72 61 6e 73 70 6f 73 65 28 66 6c 6f 61 74 xTranspose(float
2ed0: 2a 20 70 44 61 74 61 29 3b 0d 0a 09 48 52 45 53 * pData);...HRES
2ee0: 55 4c 54 20 53 65 74 4d 61 74 72 69 78 54 72 61 ULT SetMatrixTra
2ef0: 6e 73 70 6f 73 65 41 72 72 61 79 28 66 6c 6f 61 nsposeArray(floa
2f00: 74 2a 20 70 44 61 74 61 2c 20 55 49 4e 54 20 4f t* pData, UINT O
2f10: 66 66 73 65 74 2c 20 55 49 4e 54 20 43 6f 75 6e ffset, UINT Coun
2f20: 74 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 t);...HRESULT Ge
2f30: 74 4d 61 74 72 69 78 54 72 61 6e 73 70 6f 73 65 tMatrixTranspose
2f40: 41 72 72 61 79 28 66 6c 6f 61 74 2a 20 70 44 61 Array(float* pDa
2f50: 74 61 2c 20 55 49 4e 54 20 4f 66 66 73 65 74 2c ta, UINT Offset,
2f60: 20 55 49 4e 54 20 43 6f 75 6e 74 29 3b 0d 0a 09 UINT Count);...
2f70: 2a 2f 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e 20 */..}....extern
2f80: 28 43 29 20 63 6f 6e 73 74 20 47 55 49 44 20 49 (C) const GUID I
2f90: 49 44 5f 49 44 33 44 31 30 45 66 66 65 63 74 53 ID_ID3D10EffectS
2fa0: 74 72 69 6e 67 56 61 72 69 61 62 6c 65 20 3d 20 tringVariable =
2fb0: 7b 30 78 37 31 34 31 37 35 30 31 2c 20 30 78 38 {0x71417501, 0x8
2fc0: 64 66 39 2c 20 30 78 34 65 30 61 2c 20 5b 30 78 df9, 0x4e0a, [0x
2fd0: 61 37 2c 20 30 78 38 61 2c 20 30 78 32 35 2c 20 a7, 0x8a, 0x25,
2fe0: 30 78 35 66 2c 20 30 78 39 37 2c 20 30 78 35 36 0x5f, 0x97, 0x56
2ff0: 2c 20 30 78 62 61 2c 20 30 78 66 66 5d 7d 3b 0d , 0xba, 0xff]};.
3000: 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 49 44 33 ...interface ID3
3010: 44 31 30 45 66 66 65 63 74 53 74 72 69 6e 67 56 D10EffectStringV
3020: 61 72 69 61 62 6c 65 20 3a 20 49 44 33 44 31 30 ariable : ID3D10
3030: 45 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 7b EffectVariable {
3040: 0d 0a 2f 2a 20 54 4f 44 4f 3a 20 66 69 78 20 76 ../* TODO: fix v
3050: 74 62 6c 5b 30 5d 20 62 75 67 0d 0a 09 65 78 74 tbl[0] bug...ext
3060: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 3a 0d 0a ern(Windows) :..
3070: 09 42 4f 4f 4c 20 49 73 56 61 6c 69 64 28 29 3b .BOOL IsValid();
3080: 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 54 ...ID3D10EffectT
3090: 79 70 65 20 47 65 74 54 79 70 65 28 29 3b 0d 0a ype GetType();..
30a0: 09 48 52 45 53 55 4c 54 20 47 65 74 44 65 73 63 .HRESULT GetDesc
30b0: 28 44 33 44 31 30 5f 45 46 46 45 43 54 5f 56 41 (D3D10_EFFECT_VA
30c0: 52 49 41 42 4c 45 5f 44 45 53 43 2a 20 70 44 65 RIABLE_DESC* pDe
30d0: 73 63 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 sc);...ID3D10Eff
30e0: 65 63 74 56 61 72 69 61 62 6c 65 20 47 65 74 41 ectVariable GetA
30f0: 6e 6e 6f 74 61 74 69 6f 6e 42 79 49 6e 64 65 78 nnotationByIndex
3100: 28 55 49 4e 54 20 49 6e 64 65 78 29 3b 0d 0a 09 (UINT Index);...
3110: 49 44 33 44 31 30 45 66 66 65 63 74 56 61 72 69 ID3D10EffectVari
3120: 61 62 6c 65 20 47 65 74 41 6e 6e 6f 74 61 74 69 able GetAnnotati
3130: 6f 6e 42 79 4e 61 6d 65 28 4c 50 43 53 54 52 20 onByName(LPCSTR
3140: 4e 61 6d 65 29 3b 0d 0a 09 49 44 33 44 31 30 45 Name);...ID3D10E
3150: 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 47 65 ffectVariable Ge
3160: 74 4d 65 6d 62 65 72 42 79 49 6e 64 65 78 28 55 tMemberByIndex(U
3170: 49 4e 54 20 49 6e 64 65 78 29 3b 0d 0a 09 49 44 INT Index);...ID
3180: 33 44 31 30 45 66 66 65 63 74 56 61 72 69 61 62 3D10EffectVariab
3190: 6c 65 20 47 65 74 4d 65 6d 62 65 72 42 79 4e 61 le GetMemberByNa
31a0: 6d 65 28 4c 50 43 53 54 52 20 4e 61 6d 65 29 3b me(LPCSTR Name);
31b0: 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 56 ...ID3D10EffectV
31c0: 61 72 69 61 62 6c 65 20 47 65 74 4d 65 6d 62 65 ariable GetMembe
31d0: 72 42 79 53 65 6d 61 6e 74 69 63 28 4c 50 43 53 rBySemantic(LPCS
31e0: 54 52 20 53 65 6d 61 6e 74 69 63 29 3b 0d 0a 09 TR Semantic);...
31f0: 49 44 33 44 31 30 45 66 66 65 63 74 56 61 72 69 ID3D10EffectVari
3200: 61 62 6c 65 20 47 65 74 45 6c 65 6d 65 6e 74 28 able GetElement(
3210: 55 49 4e 54 20 49 6e 64 65 78 29 3b 0d 0a 09 49 UINT Index);...I
3220: 44 33 44 31 30 45 66 66 65 63 74 43 6f 6e 73 74 D3D10EffectConst
3230: 61 6e 74 42 75 66 66 65 72 20 47 65 74 50 61 72 antBuffer GetPar
3240: 65 6e 74 43 6f 6e 73 74 61 6e 74 42 75 66 66 65 entConstantBuffe
3250: 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 r();...ID3D10Eff
3260: 65 63 74 53 63 61 6c 61 72 56 61 72 69 61 62 6c ectScalarVariabl
3270: 65 20 41 73 53 63 61 6c 61 72 28 29 3b 0d 0a 09 e AsScalar();...
3280: 49 44 33 44 31 30 45 66 66 65 63 74 56 65 63 74 ID3D10EffectVect
3290: 6f 72 56 61 72 69 61 62 6c 65 20 41 73 56 65 63 orVariable AsVec
32a0: 74 6f 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 tor();...ID3D10E
32b0: 66 66 65 63 74 4d 61 74 72 69 78 56 61 72 69 61 ffectMatrixVaria
32c0: 62 6c 65 20 41 73 4d 61 74 72 69 78 28 29 3b 0d ble AsMatrix();.
32d0: 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 53 74 ..ID3D10EffectSt
32e0: 72 69 6e 67 56 61 72 69 61 62 6c 65 20 41 73 53 ringVariable AsS
32f0: 74 72 69 6e 67 28 29 3b 0d 0a 09 49 44 33 44 31 tring();...ID3D1
3300: 30 45 66 66 65 63 74 53 68 61 64 65 72 52 65 73 0EffectShaderRes
3310: 6f 75 72 63 65 56 61 72 69 61 62 6c 65 20 41 73 ourceVariable As
3320: 53 68 61 64 65 72 52 65 73 6f 75 72 63 65 28 29 ShaderResource()
3330: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
3340: 52 65 6e 64 65 72 54 61 72 67 65 74 56 69 65 77 RenderTargetView
3350: 56 61 72 69 61 62 6c 65 20 41 73 52 65 6e 64 65 Variable AsRende
3360: 72 54 61 72 67 65 74 56 69 65 77 28 29 3b 0d 0a rTargetView();..
3370: 09 49 44 33 44 31 30 45 66 66 65 63 74 44 65 70 .ID3D10EffectDep
3380: 74 68 53 74 65 6e 63 69 6c 56 69 65 77 56 61 72 thStencilViewVar
3390: 69 61 62 6c 65 20 41 73 44 65 70 74 68 53 74 65 iable AsDepthSte
33a0: 6e 63 69 6c 56 69 65 77 28 29 3b 0d 0a 09 49 44 ncilView();...ID
33b0: 33 44 31 30 45 66 66 65 63 74 43 6f 6e 73 74 61 3D10EffectConsta
33c0: 6e 74 42 75 66 66 65 72 20 41 73 43 6f 6e 73 74 ntBuffer AsConst
33d0: 61 6e 74 42 75 66 66 65 72 28 29 3b 0d 0a 09 49 antBuffer();...I
33e0: 44 33 44 31 30 45 66 66 65 63 74 53 68 61 64 65 D3D10EffectShade
33f0: 72 56 61 72 69 61 62 6c 65 20 41 73 53 68 61 64 rVariable AsShad
3400: 65 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 er();...ID3D10Ef
3410: 66 65 63 74 42 6c 65 6e 64 56 61 72 69 61 62 6c fectBlendVariabl
3420: 65 20 41 73 42 6c 65 6e 64 28 29 3b 0d 0a 09 49 e AsBlend();...I
3430: 44 33 44 31 30 45 66 66 65 63 74 44 65 70 74 68 D3D10EffectDepth
3440: 53 74 65 6e 63 69 6c 56 61 72 69 61 62 6c 65 20 StencilVariable
3450: 41 73 44 65 70 74 68 53 74 65 6e 63 69 6c 28 29 AsDepthStencil()
3460: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
3470: 52 61 73 74 65 72 69 7a 65 72 56 61 72 69 61 62 RasterizerVariab
3480: 6c 65 20 41 73 52 61 73 74 65 72 69 7a 65 72 28 le AsRasterizer(
3490: 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 );...ID3D10Effec
34a0: 74 53 61 6d 70 6c 65 72 56 61 72 69 61 62 6c 65 tSamplerVariable
34b0: 20 41 73 53 61 6d 70 6c 65 72 28 29 3b 0d 0a 09 AsSampler();...
34c0: 48 52 45 53 55 4c 54 20 53 65 74 52 61 77 56 61 HRESULT SetRawVa
34d0: 6c 75 65 28 76 6f 69 64 2a 20 70 44 61 74 61 2c lue(void* pData,
34e0: 20 55 49 4e 54 20 4f 66 66 73 65 74 2c 20 55 49 UINT Offset, UI
34f0: 4e 54 20 43 6f 75 6e 74 29 3b 0d 0a 09 48 52 45 NT Count);...HRE
3500: 53 55 4c 54 20 47 65 74 52 61 77 56 61 6c 75 65 SULT GetRawValue
3510: 28 76 6f 69 64 2a 20 70 44 61 74 61 2c 20 55 49 (void* pData, UI
3520: 4e 54 20 4f 66 66 73 65 74 2c 20 55 49 4e 54 20 NT Offset, UINT
3530: 43 6f 75 6e 74 29 3b 0d 0a 09 48 52 45 53 55 4c Count);...HRESUL
3540: 54 20 47 65 74 53 74 72 69 6e 67 28 4c 50 43 53 T GetString(LPCS
3550: 54 52 2a 20 70 70 53 74 72 69 6e 67 29 3b 0d 0a TR* ppString);..
3560: 09 48 52 45 53 55 4c 54 20 47 65 74 53 74 72 69 .HRESULT GetStri
3570: 6e 67 41 72 72 61 79 28 4c 50 43 53 54 52 2a 20 ngArray(LPCSTR*
3580: 70 70 53 74 72 69 6e 67 73 2c 20 55 49 4e 54 20 ppStrings, UINT
3590: 4f 66 66 73 65 74 2c 20 55 49 4e 54 20 43 6f 75 Offset, UINT Cou
35a0: 6e 74 29 3b 0d 0a 09 2a 2f 0d 0a 7d 0d 0a 0d 0a nt);...*/..}....
35b0: 65 78 74 65 72 6e 20 28 43 29 20 63 6f 6e 73 74 extern (C) const
35c0: 20 47 55 49 44 20 49 49 44 5f 49 44 33 44 31 30 GUID IID_ID3D10
35d0: 45 66 66 65 63 74 53 68 61 64 65 72 52 65 73 6f EffectShaderReso
35e0: 75 72 63 65 56 61 72 69 61 62 6c 65 20 3d 20 7b urceVariable = {
35f0: 30 78 63 30 61 37 31 35 37 62 2c 20 30 78 64 38 0xc0a7157b, 0xd8
3600: 37 32 2c 20 30 78 34 62 31 64 2c 20 5b 30 78 38 72, 0x4b1d, [0x8
3610: 30 2c 20 30 78 37 33 2c 20 30 78 65 66 2c 20 30 0, 0x73, 0xef, 0
3620: 78 63 32 2c 20 30 78 61 63 2c 20 30 78 64 34 2c xc2, 0xac, 0xd4,
3630: 20 30 78 62 31 2c 20 30 78 66 63 5d 7d 3b 0d 0a 0xb1, 0xfc]};..
3640: 0d 0a 69 6e 74 65 72 66 61 63 65 20 49 44 33 44 ..interface ID3D
3650: 31 30 45 66 66 65 63 74 53 68 61 64 65 72 52 65 10EffectShaderRe
3660: 73 6f 75 72 63 65 56 61 72 69 61 62 6c 65 20 3a sourceVariable :
3670: 20 49 44 33 44 31 30 45 66 66 65 63 74 56 61 72 ID3D10EffectVar
3680: 69 61 62 6c 65 20 7b 0d 0a 2f 2a 20 54 4f 44 4f iable {../* TODO
3690: 3a 20 66 69 78 20 76 74 62 6c 5b 30 5d 20 62 75 : fix vtbl[0] bu
36a0: 67 0d 0a 09 65 78 74 65 72 6e 28 57 69 6e 64 6f g...extern(Windo
36b0: 77 73 29 20 3a 0d 0a 09 42 4f 4f 4c 20 49 73 56 ws) :...BOOL IsV
36c0: 61 6c 69 64 28 29 3b 0d 0a 09 49 44 33 44 31 30 alid();...ID3D10
36d0: 45 66 66 65 63 74 54 79 70 65 20 47 65 74 54 79 EffectType GetTy
36e0: 70 65 28 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 pe();...HRESULT
36f0: 47 65 74 44 65 73 63 28 44 33 44 31 30 5f 45 46 GetDesc(D3D10_EF
3700: 46 45 43 54 5f 56 41 52 49 41 42 4c 45 5f 44 45 FECT_VARIABLE_DE
3710: 53 43 2a 20 70 44 65 73 63 29 3b 0d 0a 09 49 44 SC* pDesc);...ID
3720: 33 44 31 30 45 66 66 65 63 74 56 61 72 69 61 62 3D10EffectVariab
3730: 6c 65 20 47 65 74 41 6e 6e 6f 74 61 74 69 6f 6e le GetAnnotation
3740: 42 79 49 6e 64 65 78 28 55 49 4e 54 20 49 6e 64 ByIndex(UINT Ind
3750: 65 78 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 ex);...ID3D10Eff
3760: 65 63 74 56 61 72 69 61 62 6c 65 20 47 65 74 41 ectVariable GetA
3770: 6e 6e 6f 74 61 74 69 6f 6e 42 79 4e 61 6d 65 28 nnotationByName(
3780: 4c 50 43 53 54 52 20 4e 61 6d 65 29 3b 0d 0a 09 LPCSTR Name);...
3790: 49 44 33 44 31 30 45 66 66 65 63 74 56 61 72 69 ID3D10EffectVari
37a0: 61 62 6c 65 20 47 65 74 4d 65 6d 62 65 72 42 79 able GetMemberBy
37b0: 49 6e 64 65 78 28 55 49 4e 54 20 49 6e 64 65 78 Index(UINT Index
37c0: 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 );...ID3D10Effec
37d0: 74 56 61 72 69 61 62 6c 65 20 47 65 74 4d 65 6d tVariable GetMem
37e0: 62 65 72 42 79 4e 61 6d 65 28 4c 50 43 53 54 52 berByName(LPCSTR
37f0: 20 4e 61 6d 65 29 3b 0d 0a 09 49 44 33 44 31 30 Name);...ID3D10
3800: 45 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 47 EffectVariable G
3810: 65 74 4d 65 6d 62 65 72 42 79 53 65 6d 61 6e 74 etMemberBySemant
3820: 69 63 28 4c 50 43 53 54 52 20 53 65 6d 61 6e 74 ic(LPCSTR Semant
3830: 69 63 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 ic);...ID3D10Eff
3840: 65 63 74 56 61 72 69 61 62 6c 65 20 47 65 74 45 ectVariable GetE
3850: 6c 65 6d 65 6e 74 28 55 49 4e 54 20 49 6e 64 65 lement(UINT Inde
3860: 78 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 x);...ID3D10Effe
3870: 63 74 43 6f 6e 73 74 61 6e 74 42 75 66 66 65 72 ctConstantBuffer
3880: 20 47 65 74 50 61 72 65 6e 74 43 6f 6e 73 74 61 GetParentConsta
3890: 6e 74 42 75 66 66 65 72 28 29 3b 0d 0a 09 49 44 ntBuffer();...ID
38a0: 33 44 31 30 45 66 66 65 63 74 53 63 61 6c 61 72 3D10EffectScalar
38b0: 56 61 72 69 61 62 6c 65 20 41 73 53 63 61 6c 61 Variable AsScala
38c0: 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 r();...ID3D10Eff
38d0: 65 63 74 56 65 63 74 6f 72 56 61 72 69 61 62 6c ectVectorVariabl
38e0: 65 20 41 73 56 65 63 74 6f 72 28 29 3b 0d 0a 09 e AsVector();...
38f0: 49 44 33 44 31 30 45 66 66 65 63 74 4d 61 74 72 ID3D10EffectMatr
3900: 69 78 56 61 72 69 61 62 6c 65 20 41 73 4d 61 74 ixVariable AsMat
3910: 72 69 78 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 rix();...ID3D10E
3920: 66 66 65 63 74 53 74 72 69 6e 67 56 61 72 69 61 ffectStringVaria
3930: 62 6c 65 20 41 73 53 74 72 69 6e 67 28 29 3b 0d ble AsString();.
3940: 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 53 68 ..ID3D10EffectSh
3950: 61 64 65 72 52 65 73 6f 75 72 63 65 56 61 72 69 aderResourceVari
3960: 61 62 6c 65 20 41 73 53 68 61 64 65 72 52 65 73 able AsShaderRes
3970: 6f 75 72 63 65 28 29 3b 0d 0a 09 49 44 33 44 31 ource();...ID3D1
3980: 30 45 66 66 65 63 74 52 65 6e 64 65 72 54 61 72 0EffectRenderTar
3990: 67 65 74 56 69 65 77 56 61 72 69 61 62 6c 65 20 getViewVariable
39a0: 41 73 52 65 6e 64 65 72 54 61 72 67 65 74 56 69 AsRenderTargetVi
39b0: 65 77 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 ew();...ID3D10Ef
39c0: 66 65 63 74 44 65 70 74 68 53 74 65 6e 63 69 6c fectDepthStencil
39d0: 56 69 65 77 56 61 72 69 61 62 6c 65 20 41 73 44 ViewVariable AsD
39e0: 65 70 74 68 53 74 65 6e 63 69 6c 56 69 65 77 28 epthStencilView(
39f0: 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 );...ID3D10Effec
3a00: 74 43 6f 6e 73 74 61 6e 74 42 75 66 66 65 72 20 tConstantBuffer
3a10: 41 73 43 6f 6e 73 74 61 6e 74 42 75 66 66 65 72 AsConstantBuffer
3a20: 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 ();...ID3D10Effe
3a30: 63 74 53 68 61 64 65 72 56 61 72 69 61 62 6c 65 ctShaderVariable
3a40: 20 41 73 53 68 61 64 65 72 28 29 3b 0d 0a 09 49 AsShader();...I
3a50: 44 33 44 31 30 45 66 66 65 63 74 42 6c 65 6e 64 D3D10EffectBlend
3a60: 56 61 72 69 61 62 6c 65 20 41 73 42 6c 65 6e 64 Variable AsBlend
3a70: 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 ();...ID3D10Effe
3a80: 63 74 44 65 70 74 68 53 74 65 6e 63 69 6c 56 61 ctDepthStencilVa
3a90: 72 69 61 62 6c 65 20 41 73 44 65 70 74 68 53 74 riable AsDepthSt
3aa0: 65 6e 63 69 6c 28 29 3b 0d 0a 09 49 44 33 44 31 encil();...ID3D1
3ab0: 30 45 66 66 65 63 74 52 61 73 74 65 72 69 7a 65 0EffectRasterize
3ac0: 72 56 61 72 69 61 62 6c 65 20 41 73 52 61 73 74 rVariable AsRast
3ad0: 65 72 69 7a 65 72 28 29 3b 0d 0a 09 49 44 33 44 erizer();...ID3D
3ae0: 31 30 45 66 66 65 63 74 53 61 6d 70 6c 65 72 56 10EffectSamplerV
3af0: 61 72 69 61 62 6c 65 20 41 73 53 61 6d 70 6c 65 ariable AsSample
3b00: 72 28 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 r();...HRESULT S
3b10: 65 74 52 61 77 56 61 6c 75 65 28 76 6f 69 64 2a etRawValue(void*
3b20: 20 70 44 61 74 61 2c 20 55 49 4e 54 20 4f 66 66 pData, UINT Off
3b30: 73 65 74 2c 20 55 49 4e 54 20 43 6f 75 6e 74 29 set, UINT Count)
3b40: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 52 ;...HRESULT GetR
3b50: 61 77 56 61 6c 75 65 28 76 6f 69 64 2a 20 70 44 awValue(void* pD
3b60: 61 74 61 2c 20 55 49 4e 54 20 4f 66 66 73 65 74 ata, UINT Offset
3b70: 2c 20 55 49 4e 54 20 43 6f 75 6e 74 29 3b 0d 0a , UINT Count);..
3b80: 09 48 52 45 53 55 4c 54 20 53 65 74 52 65 73 6f .HRESULT SetReso
3b90: 75 72 63 65 28 49 44 33 44 31 30 53 68 61 64 65 urce(ID3D10Shade
3ba0: 72 52 65 73 6f 75 72 63 65 56 69 65 77 20 70 52 rResourceView pR
3bb0: 65 73 6f 75 72 63 65 29 3b 0d 0a 09 48 52 45 53 esource);...HRES
3bc0: 55 4c 54 20 47 65 74 52 65 73 6f 75 72 63 65 28 ULT GetResource(
3bd0: 49 44 33 44 31 30 53 68 61 64 65 72 52 65 73 6f ID3D10ShaderReso
3be0: 75 72 63 65 56 69 65 77 2a 20 70 70 52 65 73 6f urceView* ppReso
3bf0: 75 72 63 65 29 3b 0d 0a 09 48 52 45 53 55 4c 54 urce);...HRESULT
3c00: 20 53 65 74 52 65 73 6f 75 72 63 65 41 72 72 61 SetResourceArra
3c10: 79 28 49 44 33 44 31 30 53 68 61 64 65 72 52 65 y(ID3D10ShaderRe
3c20: 73 6f 75 72 63 65 56 69 65 77 2a 20 70 70 52 65 sourceView* ppRe
3c30: 73 6f 75 72 63 65 73 2c 20 55 49 4e 54 20 4f 66 sources, UINT Of
3c40: 66 73 65 74 2c 20 55 49 4e 54 20 43 6f 75 6e 74 fset, UINT Count
3c50: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 );...HRESULT Get
3c60: 52 65 73 6f 75 72 63 65 41 72 72 61 79 28 49 44 ResourceArray(ID
3c70: 33 44 31 30 53 68 61 64 65 72 52 65 73 6f 75 72 3D10ShaderResour
3c80: 63 65 56 69 65 77 2a 20 70 70 52 65 73 6f 75 72 ceView* ppResour
3c90: 63 65 73 2c 20 55 49 4e 54 20 4f 66 66 73 65 74 ces, UINT Offset
3ca0: 2c 20 55 49 4e 54 20 43 6f 75 6e 74 29 3b 0d 0a , UINT Count);..
3cb0: 09 2a 2f 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e .*/..}....extern
3cc0: 20 28 43 29 20 63 6f 6e 73 74 20 47 55 49 44 20 (C) const GUID
3cd0: 49 49 44 5f 49 44 33 44 31 30 45 66 66 65 63 74 IID_ID3D10Effect
3ce0: 52 65 6e 64 65 72 54 61 72 67 65 74 56 69 65 77 RenderTargetView
3cf0: 56 61 72 69 61 62 6c 65 20 3d 20 7b 30 78 32 38 Variable = {0x28
3d00: 63 61 30 63 63 33 2c 20 30 78 63 32 63 39 2c 20 ca0cc3, 0xc2c9,
3d10: 30 78 34 30 62 62 2c 20 5b 30 78 62 35 2c 20 30 0x40bb, [0xb5, 0
3d20: 78 37 66 2c 20 30 78 36 37 2c 20 30 78 62 37 2c x7f, 0x67, 0xb7,
3d30: 20 30 78 33 37 2c 20 30 78 31 32 2c 20 30 78 32 0x37, 0x12, 0x2
3d40: 62 2c 20 30 78 31 37 5d 7d 3b 0d 0a 0d 0a 69 6e b, 0x17]};....in
3d50: 74 65 72 66 61 63 65 20 49 44 33 44 31 30 45 66 terface ID3D10Ef
3d60: 66 65 63 74 52 65 6e 64 65 72 54 61 72 67 65 74 fectRenderTarget
3d70: 56 69 65 77 56 61 72 69 61 62 6c 65 20 3a 20 49 ViewVariable : I
3d80: 44 33 44 31 30 45 66 66 65 63 74 56 61 72 69 61 D3D10EffectVaria
3d90: 62 6c 65 20 7b 0d 0a 2f 2a 20 54 4f 44 4f 3a 20 ble {../* TODO:
3da0: 66 69 78 20 76 74 62 6c 5b 30 5d 20 62 75 67 0d fix vtbl[0] bug.
3db0: 0a 09 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 ..extern(Windows
3dc0: 29 20 3a 0d 0a 09 42 4f 4f 4c 20 49 73 56 61 6c ) :...BOOL IsVal
3dd0: 69 64 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 id();...ID3D10Ef
3de0: 66 65 63 74 54 79 70 65 20 47 65 74 54 79 70 65 fectType GetType
3df0: 28 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 ();...HRESULT Ge
3e00: 74 44 65 73 63 28 44 33 44 31 30 5f 45 46 46 45 tDesc(D3D10_EFFE
3e10: 43 54 5f 56 41 52 49 41 42 4c 45 5f 44 45 53 43 CT_VARIABLE_DESC
3e20: 2a 20 70 44 65 73 63 29 3b 0d 0a 09 49 44 33 44 * pDesc);...ID3D
3e30: 31 30 45 66 66 65 63 74 56 61 72 69 61 62 6c 65 10EffectVariable
3e40: 20 47 65 74 41 6e 6e 6f 74 61 74 69 6f 6e 42 79 GetAnnotationBy
3e50: 49 6e 64 65 78 28 55 49 4e 54 20 49 6e 64 65 78 Index(UINT Index
3e60: 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 );...ID3D10Effec
3e70: 74 56 61 72 69 61 62 6c 65 20 47 65 74 41 6e 6e tVariable GetAnn
3e80: 6f 74 61 74 69 6f 6e 42 79 4e 61 6d 65 28 4c 50 otationByName(LP
3e90: 43 53 54 52 20 4e 61 6d 65 29 3b 0d 0a 09 49 44 CSTR Name);...ID
3ea0: 33 44 31 30 45 66 66 65 63 74 56 61 72 69 61 62 3D10EffectVariab
3eb0: 6c 65 20 47 65 74 4d 65 6d 62 65 72 42 79 49 6e le GetMemberByIn
3ec0: 64 65 78 28 55 49 4e 54 20 49 6e 64 65 78 29 3b dex(UINT Index);
3ed0: 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 56 ...ID3D10EffectV
3ee0: 61 72 69 61 62 6c 65 20 47 65 74 4d 65 6d 62 65 ariable GetMembe
3ef0: 72 42 79 4e 61 6d 65 28 4c 50 43 53 54 52 20 4e rByName(LPCSTR N
3f00: 61 6d 65 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 ame);...ID3D10Ef
3f10: 66 65 63 74 56 61 72 69 61 62 6c 65 20 47 65 74 fectVariable Get
3f20: 4d 65 6d 62 65 72 42 79 53 65 6d 61 6e 74 69 63 MemberBySemantic
3f30: 28 4c 50 43 53 54 52 20 53 65 6d 61 6e 74 69 63 (LPCSTR Semantic
3f40: 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 );...ID3D10Effec
3f50: 74 56 61 72 69 61 62 6c 65 20 47 65 74 45 6c 65 tVariable GetEle
3f60: 6d 65 6e 74 28 55 49 4e 54 20 49 6e 64 65 78 29 ment(UINT Index)
3f70: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
3f80: 43 6f 6e 73 74 61 6e 74 42 75 66 66 65 72 20 47 ConstantBuffer G
3f90: 65 74 50 61 72 65 6e 74 43 6f 6e 73 74 61 6e 74 etParentConstant
3fa0: 42 75 66 66 65 72 28 29 3b 0d 0a 09 49 44 33 44 Buffer();...ID3D
3fb0: 31 30 45 66 66 65 63 74 53 63 61 6c 61 72 56 61 10EffectScalarVa
3fc0: 72 69 61 62 6c 65 20 41 73 53 63 61 6c 61 72 28 riable AsScalar(
3fd0: 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 );...ID3D10Effec
3fe0: 74 56 65 63 74 6f 72 56 61 72 69 61 62 6c 65 20 tVectorVariable
3ff0: 41 73 56 65 63 74 6f 72 28 29 3b 0d 0a 09 49 44 AsVector();...ID
4000: 33 44 31 30 45 66 66 65 63 74 4d 61 74 72 69 78 3D10EffectMatrix
4010: 56 61 72 69 61 62 6c 65 20 41 73 4d 61 74 72 69 Variable AsMatri
4020: 78 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 x();...ID3D10Eff
4030: 65 63 74 53 74 72 69 6e 67 56 61 72 69 61 62 6c ectStringVariabl
4040: 65 20 41 73 53 74 72 69 6e 67 28 29 3b 0d 0a 09 e AsString();...
4050: 49 44 33 44 31 30 45 66 66 65 63 74 53 68 61 64 ID3D10EffectShad
4060: 65 72 52 65 73 6f 75 72 63 65 56 61 72 69 61 62 erResourceVariab
4070: 6c 65 20 41 73 53 68 61 64 65 72 52 65 73 6f 75 le AsShaderResou
4080: 72 63 65 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 rce();...ID3D10E
4090: 66 66 65 63 74 52 65 6e 64 65 72 54 61 72 67 65 ffectRenderTarge
40a0: 74 56 69 65 77 56 61 72 69 61 62 6c 65 20 41 73 tViewVariable As
40b0: 52 65 6e 64 65 72 54 61 72 67 65 74 56 69 65 77 RenderTargetView
40c0: 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 ();...ID3D10Effe
40d0: 63 74 44 65 70 74 68 53 74 65 6e 63 69 6c 56 69 ctDepthStencilVi
40e0: 65 77 56 61 72 69 61 62 6c 65 20 41 73 44 65 70 ewVariable AsDep
40f0: 74 68 53 74 65 6e 63 69 6c 56 69 65 77 28 29 3b thStencilView();
4100: 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 43 ...ID3D10EffectC
4110: 6f 6e 73 74 61 6e 74 42 75 66 66 65 72 20 41 73 onstantBuffer As
4120: 43 6f 6e 73 74 61 6e 74 42 75 66 66 65 72 28 29 ConstantBuffer()
4130: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
4140: 53 68 61 64 65 72 56 61 72 69 61 62 6c 65 20 41 ShaderVariable A
4150: 73 53 68 61 64 65 72 28 29 3b 0d 0a 09 49 44 33 sShader();...ID3
4160: 44 31 30 45 66 66 65 63 74 42 6c 65 6e 64 56 61 D10EffectBlendVa
4170: 72 69 61 62 6c 65 20 41 73 42 6c 65 6e 64 28 29 riable AsBlend()
4180: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
4190: 44 65 70 74 68 53 74 65 6e 63 69 6c 56 61 72 69 DepthStencilVari
41a0: 61 62 6c 65 20 41 73 44 65 70 74 68 53 74 65 6e able AsDepthSten
41b0: 63 69 6c 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 cil();...ID3D10E
41c0: 66 66 65 63 74 52 61 73 74 65 72 69 7a 65 72 56 ffectRasterizerV
41d0: 61 72 69 61 62 6c 65 20 41 73 52 61 73 74 65 72 ariable AsRaster
41e0: 69 7a 65 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 izer();...ID3D10
41f0: 45 66 66 65 63 74 53 61 6d 70 6c 65 72 56 61 72 EffectSamplerVar
4200: 69 61 62 6c 65 20 41 73 53 61 6d 70 6c 65 72 28 iable AsSampler(
4210: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 74 );...HRESULT Set
4220: 52 61 77 56 61 6c 75 65 28 76 6f 69 64 2a 20 70 RawValue(void* p
4230: 44 61 74 61 2c 20 55 49 4e 54 20 4f 66 66 73 65 Data, UINT Offse
4240: 74 2c 20 55 49 4e 54 20 43 6f 75 6e 74 29 3b 0d t, UINT Count);.
4250: 0a 09 48 52 45 53 55 4c 54 20 47 65 74 52 61 77 ..HRESULT GetRaw
4260: 56 61 6c 75 65 28 76 6f 69 64 2a 20 70 44 61 74 Value(void* pDat
4270: 61 2c 20 55 49 4e 54 20 4f 66 66 73 65 74 2c 20 a, UINT Offset,
4280: 55 49 4e 54 20 43 6f 75 6e 74 29 3b 0d 0a 09 48 UINT Count);...H
4290: 52 45 53 55 4c 54 20 53 65 74 52 65 6e 64 65 72 RESULT SetRender
42a0: 54 61 72 67 65 74 28 49 44 33 44 31 30 52 65 6e Target(ID3D10Ren
42b0: 64 65 72 54 61 72 67 65 74 56 69 65 77 20 70 52 derTargetView pR
42c0: 65 73 6f 75 72 63 65 29 3b 0d 0a 09 48 52 45 53 esource);...HRES
42d0: 55 4c 54 20 47 65 74 52 65 6e 64 65 72 54 61 72 ULT GetRenderTar
42e0: 67 65 74 28 49 44 33 44 31 30 52 65 6e 64 65 72 get(ID3D10Render
42f0: 54 61 72 67 65 74 56 69 65 77 2a 20 70 70 52 65 TargetView* ppRe
4300: 73 6f 75 72 63 65 29 3b 0d 0a 09 48 52 45 53 55 source);...HRESU
4310: 4c 54 20 53 65 74 52 65 6e 64 65 72 54 61 72 67 LT SetRenderTarg
4320: 65 74 41 72 72 61 79 28 49 44 33 44 31 30 52 65 etArray(ID3D10Re
4330: 6e 64 65 72 54 61 72 67 65 74 56 69 65 77 2a 20 nderTargetView*
4340: 70 70 52 65 73 6f 75 72 63 65 73 2c 20 55 49 4e ppResources, UIN
4350: 54 20 4f 66 66 73 65 74 2c 20 55 49 4e 54 20 43 T Offset, UINT C
4360: 6f 75 6e 74 29 3b 0d 0a 09 48 52 45 53 55 4c 54 ount);...HRESULT
4370: 20 47 65 74 52 65 6e 64 65 72 54 61 72 67 65 74 GetRenderTarget
4380: 41 72 72 61 79 28 49 44 33 44 31 30 52 65 6e 64 Array(ID3D10Rend
4390: 65 72 54 61 72 67 65 74 56 69 65 77 2a 20 70 70 erTargetView* pp
43a0: 52 65 73 6f 75 72 63 65 73 2c 20 55 49 4e 54 20 Resources, UINT
43b0: 4f 66 66 73 65 74 2c 20 55 49 4e 54 20 43 6f 75 Offset, UINT Cou
43c0: 6e 74 29 3b 0d 0a 09 2a 2f 0d 0a 7d 0d 0a 0d 0a nt);...*/..}....
43d0: 65 78 74 65 72 6e 20 28 43 29 20 63 6f 6e 73 74 extern (C) const
43e0: 20 47 55 49 44 20 49 49 44 5f 49 44 33 44 31 30 GUID IID_ID3D10
43f0: 45 66 66 65 63 74 44 65 70 74 68 53 74 65 6e 63 EffectDepthStenc
4400: 69 6c 56 69 65 77 56 61 72 69 61 62 6c 65 20 3d ilViewVariable =
4410: 20 7b 30 78 33 65 30 32 63 39 31 38 2c 20 30 78 {0x3e02c918, 0x
4420: 63 63 37 39 2c 20 30 78 34 39 38 35 2c 20 5b 30 cc79, 0x4985, [0
4430: 78 62 36 2c 20 30 78 32 32 2c 20 30 78 32 64 2c xb6, 0x22, 0x2d,
4440: 20 30 78 39 32 2c 20 30 78 61 64 2c 20 30 78 37 0x92, 0xad, 0x7
4450: 30 2c 20 30 78 31 36 2c 20 30 78 32 33 5d 7d 3b 0, 0x16, 0x23]};
4460: 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 49 44 ....interface ID
4470: 33 44 31 30 45 66 66 65 63 74 44 65 70 74 68 53 3D10EffectDepthS
4480: 74 65 6e 63 69 6c 56 69 65 77 56 61 72 69 61 62 tencilViewVariab
4490: 6c 65 20 3a 20 49 44 33 44 31 30 45 66 66 65 63 le : ID3D10Effec
44a0: 74 56 61 72 69 61 62 6c 65 20 7b 0d 0a 2f 2a 20 tVariable {../*
44b0: 54 4f 44 4f 3a 20 66 69 78 20 76 74 62 6c 5b 30 TODO: fix vtbl[0
44c0: 5d 20 62 75 67 0d 0a 09 65 78 74 65 72 6e 28 57 ] bug...extern(W
44d0: 69 6e 64 6f 77 73 29 20 3a 0d 0a 09 42 4f 4f 4c indows) :...BOOL
44e0: 20 49 73 56 61 6c 69 64 28 29 3b 0d 0a 09 49 44 IsValid();...ID
44f0: 33 44 31 30 45 66 66 65 63 74 54 79 70 65 20 47 3D10EffectType G
4500: 65 74 54 79 70 65 28 29 3b 0d 0a 09 48 52 45 53 etType();...HRES
4510: 55 4c 54 20 47 65 74 44 65 73 63 28 44 33 44 31 ULT GetDesc(D3D1
4520: 30 5f 45 46 46 45 43 54 5f 56 41 52 49 41 42 4c 0_EFFECT_VARIABL
4530: 45 5f 44 45 53 43 2a 20 70 44 65 73 63 29 3b 0d E_DESC* pDesc);.
4540: 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 56 61 ..ID3D10EffectVa
4550: 72 69 61 62 6c 65 20 47 65 74 41 6e 6e 6f 74 61 riable GetAnnota
4560: 74 69 6f 6e 42 79 49 6e 64 65 78 28 55 49 4e 54 tionByIndex(UINT
4570: 20 49 6e 64 65 78 29 3b 0d 0a 09 49 44 33 44 31 Index);...ID3D1
4580: 30 45 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 0EffectVariable
4590: 47 65 74 41 6e 6e 6f 74 61 74 69 6f 6e 42 79 4e GetAnnotationByN
45a0: 61 6d 65 28 4c 50 43 53 54 52 20 4e 61 6d 65 29 ame(LPCSTR Name)
45b0: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
45c0: 56 61 72 69 61 62 6c 65 20 47 65 74 4d 65 6d 62 Variable GetMemb
45d0: 65 72 42 79 49 6e 64 65 78 28 55 49 4e 54 20 49 erByIndex(UINT I
45e0: 6e 64 65 78 29 3b 0d 0a 09 49 44 33 44 31 30 45 ndex);...ID3D10E
45f0: 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 47 65 ffectVariable Ge
4600: 74 4d 65 6d 62 65 72 42 79 4e 61 6d 65 28 4c 50 tMemberByName(LP
4610: 43 53 54 52 20 4e 61 6d 65 29 3b 0d 0a 09 49 44 CSTR Name);...ID
4620: 33 44 31 30 45 66 66 65 63 74 56 61 72 69 61 62 3D10EffectVariab
4630: 6c 65 20 47 65 74 4d 65 6d 62 65 72 42 79 53 65 le GetMemberBySe
4640: 6d 61 6e 74 69 63 28 4c 50 43 53 54 52 20 53 65 mantic(LPCSTR Se
4650: 6d 61 6e 74 69 63 29 3b 0d 0a 09 49 44 33 44 31 mantic);...ID3D1
4660: 30 45 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 0EffectVariable
4670: 47 65 74 45 6c 65 6d 65 6e 74 28 55 49 4e 54 20 GetElement(UINT
4680: 49 6e 64 65 78 29 3b 0d 0a 09 49 44 33 44 31 30 Index);...ID3D10
4690: 45 66 66 65 63 74 43 6f 6e 73 74 61 6e 74 42 75 EffectConstantBu
46a0: 66 66 65 72 20 47 65 74 50 61 72 65 6e 74 43 6f ffer GetParentCo
46b0: 6e 73 74 61 6e 74 42 75 66 66 65 72 28 29 3b 0d nstantBuffer();.
46c0: 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 53 63 ..ID3D10EffectSc
46d0: 61 6c 61 72 56 61 72 69 61 62 6c 65 20 41 73 53 alarVariable AsS
46e0: 63 61 6c 61 72 28 29 3b 0d 0a 09 49 44 33 44 31 calar();...ID3D1
46f0: 30 45 66 66 65 63 74 56 65 63 74 6f 72 56 61 72 0EffectVectorVar
4700: 69 61 62 6c 65 20 41 73 56 65 63 74 6f 72 28 29 iable AsVector()
4710: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
4720: 4d 61 74 72 69 78 56 61 72 69 61 62 6c 65 20 41 MatrixVariable A
4730: 73 4d 61 74 72 69 78 28 29 3b 0d 0a 09 49 44 33 sMatrix();...ID3
4740: 44 31 30 45 66 66 65 63 74 53 74 72 69 6e 67 56 D10EffectStringV
4750: 61 72 69 61 62 6c 65 20 41 73 53 74 72 69 6e 67 ariable AsString
4760: 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 ();...ID3D10Effe
4770: 63 74 53 68 61 64 65 72 52 65 73 6f 75 72 63 65 ctShaderResource
4780: 56 61 72 69 61 62 6c 65 20 41 73 53 68 61 64 65 Variable AsShade
4790: 72 52 65 73 6f 75 72 63 65 28 29 3b 0d 0a 09 49 rResource();...I
47a0: 44 33 44 31 30 45 66 66 65 63 74 52 65 6e 64 65 D3D10EffectRende
47b0: 72 54 61 72 67 65 74 56 69 65 77 56 61 72 69 61 rTargetViewVaria
47c0: 62 6c 65 20 41 73 52 65 6e 64 65 72 54 61 72 67 ble AsRenderTarg
47d0: 65 74 56 69 65 77 28 29 3b 0d 0a 09 49 44 33 44 etView();...ID3D
47e0: 31 30 45 66 66 65 63 74 44 65 70 74 68 53 74 65 10EffectDepthSte
47f0: 6e 63 69 6c 56 69 65 77 56 61 72 69 61 62 6c 65 ncilViewVariable
4800: 20 41 73 44 65 70 74 68 53 74 65 6e 63 69 6c 56 AsDepthStencilV
4810: 69 65 77 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 iew();...ID3D10E
4820: 66 66 65 63 74 43 6f 6e 73 74 61 6e 74 42 75 66 ffectConstantBuf
4830: 66 65 72 20 41 73 43 6f 6e 73 74 61 6e 74 42 75 fer AsConstantBu
4840: 66 66 65 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 ffer();...ID3D10
4850: 45 66 66 65 63 74 53 68 61 64 65 72 56 61 72 69 EffectShaderVari
4860: 61 62 6c 65 20 41 73 53 68 61 64 65 72 28 29 3b able AsShader();
4870: 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 42 ...ID3D10EffectB
4880: 6c 65 6e 64 56 61 72 69 61 62 6c 65 20 41 73 42 lendVariable AsB
4890: 6c 65 6e 64 28 29 3b 0d 0a 09 49 44 33 44 31 30 lend();...ID3D10
48a0: 45 66 66 65 63 74 44 65 70 74 68 53 74 65 6e 63 EffectDepthStenc
48b0: 69 6c 56 61 72 69 61 62 6c 65 20 41 73 44 65 70 ilVariable AsDep
48c0: 74 68 53 74 65 6e 63 69 6c 28 29 3b 0d 0a 09 49 thStencil();...I
48d0: 44 33 44 31 30 45 66 66 65 63 74 52 61 73 74 65 D3D10EffectRaste
48e0: 72 69 7a 65 72 56 61 72 69 61 62 6c 65 20 41 73 rizerVariable As
48f0: 52 61 73 74 65 72 69 7a 65 72 28 29 3b 0d 0a 09 Rasterizer();...
4900: 49 44 33 44 31 30 45 66 66 65 63 74 53 61 6d 70 ID3D10EffectSamp
4910: 6c 65 72 56 61 72 69 61 62 6c 65 20 41 73 53 61 lerVariable AsSa
4920: 6d 70 6c 65 72 28 29 3b 0d 0a 09 48 52 45 53 55 mpler();...HRESU
4930: 4c 54 20 53 65 74 52 61 77 56 61 6c 75 65 28 76 LT SetRawValue(v
4940: 6f 69 64 2a 20 70 44 61 74 61 2c 20 55 49 4e 54 oid* pData, UINT
4950: 20 4f 66 66 73 65 74 2c 20 55 49 4e 54 20 43 6f Offset, UINT Co
4960: 75 6e 74 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 unt);...HRESULT
4970: 47 65 74 52 61 77 56 61 6c 75 65 28 76 6f 69 64 GetRawValue(void
4980: 2a 20 70 44 61 74 61 2c 20 55 49 4e 54 20 4f 66 * pData, UINT Of
4990: 66 73 65 74 2c 20 55 49 4e 54 20 43 6f 75 6e 74 fset, UINT Count
49a0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 74 );...HRESULT Set
49b0: 44 65 70 74 68 53 74 65 6e 63 69 6c 28 49 44 33 DepthStencil(ID3
49c0: 44 31 30 44 65 70 74 68 53 74 65 6e 63 69 6c 56 D10DepthStencilV
49d0: 69 65 77 20 70 52 65 73 6f 75 72 63 65 29 3b 0d iew pResource);.
49e0: 0a 09 48 52 45 53 55 4c 54 20 47 65 74 44 65 70 ..HRESULT GetDep
49f0: 74 68 53 74 65 6e 63 69 6c 28 49 44 33 44 31 30 thStencil(ID3D10
4a00: 44 65 70 74 68 53 74 65 6e 63 69 6c 56 69 65 77 DepthStencilView
4a10: 2a 20 70 70 52 65 73 6f 75 72 63 65 29 3b 0d 0a * ppResource);..
4a20: 09 48 52 45 53 55 4c 54 20 53 65 74 44 65 70 74 .HRESULT SetDept
4a30: 68 53 74 65 6e 63 69 6c 41 72 72 61 79 28 49 44 hStencilArray(ID
4a40: 33 44 31 30 44 65 70 74 68 53 74 65 6e 63 69 6c 3D10DepthStencil
4a50: 56 69 65 77 2a 20 70 70 52 65 73 6f 75 72 63 65 View* ppResource
4a60: 73 2c 20 55 49 4e 54 20 4f 66 66 73 65 74 2c 20 s, UINT Offset,
4a70: 55 49 4e 54 20 43 6f 75 6e 74 29 3b 0d 0a 09 48 UINT Count);...H
4a80: 52 45 53 55 4c 54 20 47 65 74 44 65 70 74 68 53 RESULT GetDepthS
4a90: 74 65 6e 63 69 6c 41 72 72 61 79 28 49 44 33 44 tencilArray(ID3D
4aa0: 31 30 44 65 70 74 68 53 74 65 6e 63 69 6c 56 69 10DepthStencilVi
4ab0: 65 77 2a 20 70 70 52 65 73 6f 75 72 63 65 73 2c ew* ppResources,
4ac0: 20 55 49 4e 54 20 4f 66 66 73 65 74 2c 20 55 49 UINT Offset, UI
4ad0: 4e 54 20 43 6f 75 6e 74 29 3b 0d 0a 09 2a 2f 0d NT Count);...*/.
4ae0: 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 43 29 .}....extern (C)
4af0: 20 63 6f 6e 73 74 20 47 55 49 44 20 49 49 44 5f const GUID IID_
4b00: 49 44 33 44 31 30 45 66 66 65 63 74 43 6f 6e 73 ID3D10EffectCons
4b10: 74 61 6e 74 42 75 66 66 65 72 20 3d 20 7b 30 78 tantBuffer = {0x
4b20: 35 36 36 34 38 66 34 64 2c 20 30 78 63 63 38 62 56648f4d, 0xcc8b
4b30: 2c 20 30 78 34 34 34 34 2c 20 5b 30 78 61 35 2c , 0x4444, [0xa5,
4b40: 20 30 78 61 64 2c 20 30 78 62 35 2c 20 30 78 61 0xad, 0xb5, 0xa
4b50: 33 2c 20 30 78 64 37 2c 20 30 78 36 65 2c 20 30 3, 0xd7, 0x6e, 0
4b60: 78 39 31 2c 20 30 78 62 33 5d 7d 3b 0d 0a 0d 0a x91, 0xb3]};....
4b70: 69 6e 74 65 72 66 61 63 65 20 49 44 33 44 31 30 interface ID3D10
4b80: 45 66 66 65 63 74 43 6f 6e 73 74 61 6e 74 42 75 EffectConstantBu
4b90: 66 66 65 72 20 3a 20 49 44 33 44 31 30 45 66 66 ffer : ID3D10Eff
4ba0: 65 63 74 56 61 72 69 61 62 6c 65 20 7b 0d 0a 2f ectVariable {../
4bb0: 2a 20 54 4f 44 4f 3a 20 66 69 78 20 76 74 62 6c * TODO: fix vtbl
4bc0: 5b 30 5d 20 62 75 67 0d 0a 09 65 78 74 65 72 6e [0] bug...extern
4bd0: 28 57 69 6e 64 6f 77 73 29 20 3a 0d 0a 09 49 44 (Windows) :...ID
4be0: 33 44 31 30 45 66 66 65 63 74 54 79 70 65 20 47 3D10EffectType G
4bf0: 65 74 54 79 70 65 28 29 3b 0d 0a 09 48 52 45 53 etType();...HRES
4c00: 55 4c 54 20 47 65 74 44 65 73 63 28 44 33 44 31 ULT GetDesc(D3D1
4c10: 30 5f 45 46 46 45 43 54 5f 56 41 52 49 41 42 4c 0_EFFECT_VARIABL
4c20: 45 5f 44 45 53 43 2a 20 70 44 65 73 63 29 3b 0d E_DESC* pDesc);.
4c30: 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 56 61 ..ID3D10EffectVa
4c40: 72 69 61 62 6c 65 20 47 65 74 41 6e 6e 6f 74 61 riable GetAnnota
4c50: 74 69 6f 6e 42 79 49 6e 64 65 78 28 55 49 4e 54 tionByIndex(UINT
4c60: 20 49 6e 64 65 78 29 3b 0d 0a 09 49 44 33 44 31 Index);...ID3D1
4c70: 30 45 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 0EffectVariable
4c80: 47 65 74 41 6e 6e 6f 74 61 74 69 6f 6e 42 79 4e GetAnnotationByN
4c90: 61 6d 65 28 4c 50 43 53 54 52 20 4e 61 6d 65 29 ame(LPCSTR Name)
4ca0: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
4cb0: 56 61 72 69 61 62 6c 65 20 47 65 74 4d 65 6d 62 Variable GetMemb
4cc0: 65 72 42 79 49 6e 64 65 78 28 55 49 4e 54 20 49 erByIndex(UINT I
4cd0: 6e 64 65 78 29 3b 0d 0a 09 49 44 33 44 31 30 45 ndex);...ID3D10E
4ce0: 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 47 65 ffectVariable Ge
4cf0: 74 4d 65 6d 62 65 72 42 79 4e 61 6d 65 28 4c 50 tMemberByName(LP
4d00: 43 53 54 52 20 4e 61 6d 65 29 3b 0d 0a 09 49 44 CSTR Name);...ID
4d10: 33 44 31 30 45 66 66 65 63 74 56 61 72 69 61 62 3D10EffectVariab
4d20: 6c 65 20 47 65 74 4d 65 6d 62 65 72 42 79 53 65 le GetMemberBySe
4d30: 6d 61 6e 74 69 63 28 4c 50 43 53 54 52 20 53 65 mantic(LPCSTR Se
4d40: 6d 61 6e 74 69 63 29 3b 0d 0a 09 49 44 33 44 31 mantic);...ID3D1
4d50: 30 45 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 0EffectVariable
4d60: 47 65 74 45 6c 65 6d 65 6e 74 28 55 49 4e 54 20 GetElement(UINT
4d70: 49 6e 64 65 78 29 3b 0d 0a 09 49 44 33 44 31 30 Index);...ID3D10
4d80: 45 66 66 65 63 74 43 6f 6e 73 74 61 6e 74 42 75 EffectConstantBu
4d90: 66 66 65 72 20 47 65 74 50 61 72 65 6e 74 43 6f ffer GetParentCo
4da0: 6e 73 74 61 6e 74 42 75 66 66 65 72 28 29 3b 0d nstantBuffer();.
4db0: 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 53 63 ..ID3D10EffectSc
4dc0: 61 6c 61 72 56 61 72 69 61 62 6c 65 20 41 73 53 alarVariable AsS
4dd0: 63 61 6c 61 72 28 29 3b 0d 0a 09 49 44 33 44 31 calar();...ID3D1
4de0: 30 45 66 66 65 63 74 56 65 63 74 6f 72 56 61 72 0EffectVectorVar
4df0: 69 61 62 6c 65 20 41 73 56 65 63 74 6f 72 28 29 iable AsVector()
4e00: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
4e10: 4d 61 74 72 69 78 56 61 72 69 61 62 6c 65 20 41 MatrixVariable A
4e20: 73 4d 61 74 72 69 78 28 29 3b 0d 0a 09 49 44 33 sMatrix();...ID3
4e30: 44 31 30 45 66 66 65 63 74 53 74 72 69 6e 67 56 D10EffectStringV
4e40: 61 72 69 61 62 6c 65 20 41 73 53 74 72 69 6e 67 ariable AsString
4e50: 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 ();...ID3D10Effe
4e60: 63 74 53 68 61 64 65 72 52 65 73 6f 75 72 63 65 ctShaderResource
4e70: 56 61 72 69 61 62 6c 65 20 41 73 53 68 61 64 65 Variable AsShade
4e80: 72 52 65 73 6f 75 72 63 65 28 29 3b 0d 0a 09 49 rResource();...I
4e90: 44 33 44 31 30 45 66 66 65 63 74 52 65 6e 64 65 D3D10EffectRende
4ea0: 72 54 61 72 67 65 74 56 69 65 77 56 61 72 69 61 rTargetViewVaria
4eb0: 62 6c 65 20 41 73 52 65 6e 64 65 72 54 61 72 67 ble AsRenderTarg
4ec0: 65 74 56 69 65 77 28 29 3b 0d 0a 09 49 44 33 44 etView();...ID3D
4ed0: 31 30 45 66 66 65 63 74 44 65 70 74 68 53 74 65 10EffectDepthSte
4ee0: 6e 63 69 6c 56 69 65 77 56 61 72 69 61 62 6c 65 ncilViewVariable
4ef0: 20 41 73 44 65 70 74 68 53 74 65 6e 63 69 6c 56 AsDepthStencilV
4f00: 69 65 77 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 iew();...ID3D10E
4f10: 66 66 65 63 74 43 6f 6e 73 74 61 6e 74 42 75 66 ffectConstantBuf
4f20: 66 65 72 20 41 73 43 6f 6e 73 74 61 6e 74 42 75 fer AsConstantBu
4f30: 66 66 65 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 ffer();...ID3D10
4f40: 45 66 66 65 63 74 53 68 61 64 65 72 56 61 72 69 EffectShaderVari
4f50: 61 62 6c 65 20 41 73 53 68 61 64 65 72 28 29 3b able AsShader();
4f60: 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 42 ...ID3D10EffectB
4f70: 6c 65 6e 64 56 61 72 69 61 62 6c 65 20 41 73 42 lendVariable AsB
4f80: 6c 65 6e 64 28 29 3b 0d 0a 09 49 44 33 44 31 30 lend();...ID3D10
4f90: 45 66 66 65 63 74 44 65 70 74 68 53 74 65 6e 63 EffectDepthStenc
4fa0: 69 6c 56 61 72 69 61 62 6c 65 20 41 73 44 65 70 ilVariable AsDep
4fb0: 74 68 53 74 65 6e 63 69 6c 28 29 3b 0d 0a 09 49 thStencil();...I
4fc0: 44 33 44 31 30 45 66 66 65 63 74 52 61 73 74 65 D3D10EffectRaste
4fd0: 72 69 7a 65 72 56 61 72 69 61 62 6c 65 20 41 73 rizerVariable As
4fe0: 52 61 73 74 65 72 69 7a 65 72 28 29 3b 0d 0a 09 Rasterizer();...
4ff0: 49 44 33 44 31 30 45 66 66 65 63 74 53 61 6d 70 ID3D10EffectSamp
5000: 6c 65 72 56 61 72 69 61 62 6c 65 20 41 73 53 61 lerVariable AsSa
5010: 6d 70 6c 65 72 28 29 3b 0d 0a 09 48 52 45 53 55 mpler();...HRESU
5020: 4c 54 20 53 65 74 52 61 77 56 61 6c 75 65 28 76 LT SetRawValue(v
5030: 6f 69 64 2a 20 70 44 61 74 61 2c 20 55 49 4e 54 oid* pData, UINT
5040: 20 4f 66 66 73 65 74 2c 20 55 49 4e 54 20 43 6f Offset, UINT Co
5050: 75 6e 74 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 unt);...HRESULT
5060: 47 65 74 52 61 77 56 61 6c 75 65 28 76 6f 69 64 GetRawValue(void
5070: 2a 20 70 44 61 74 61 2c 20 55 49 4e 54 20 4f 66 * pData, UINT Of
5080: 66 73 65 74 2c 20 55 49 4e 54 20 43 6f 75 6e 74 fset, UINT Count
5090: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 74 );...HRESULT Set
50a0: 43 6f 6e 73 74 61 6e 74 42 75 66 66 65 72 28 49 ConstantBuffer(I
50b0: 44 33 44 31 30 42 75 66 66 65 72 20 70 43 6f 6e D3D10Buffer pCon
50c0: 73 74 61 6e 74 42 75 66 66 65 72 29 3b 0d 0a 09 stantBuffer);...
50d0: 48 52 45 53 55 4c 54 20 47 65 74 43 6f 6e 73 74 HRESULT GetConst
50e0: 61 6e 74 42 75 66 66 65 72 28 49 44 33 44 31 30 antBuffer(ID3D10
50f0: 42 75 66 66 65 72 2a 20 70 70 43 6f 6e 73 74 61 Buffer* ppConsta
5100: 6e 74 42 75 66 66 65 72 29 3b 0d 0a 09 48 52 45 ntBuffer);...HRE
5110: 53 55 4c 54 20 53 65 74 54 65 78 74 75 72 65 42 SULT SetTextureB
5120: 75 66 66 65 72 28 49 44 33 44 31 30 53 68 61 64 uffer(ID3D10Shad
5130: 65 72 52 65 73 6f 75 72 63 65 56 69 65 77 20 70 erResourceView p
5140: 54 65 78 74 75 72 65 42 75 66 66 65 72 29 3b 0d TextureBuffer);.
5150: 0a 09 48 52 45 53 55 4c 54 20 47 65 74 54 65 78 ..HRESULT GetTex
5160: 74 75 72 65 42 75 66 66 65 72 28 49 44 33 44 31 tureBuffer(ID3D1
5170: 30 53 68 61 64 65 72 52 65 73 6f 75 72 63 65 56 0ShaderResourceV
5180: 69 65 77 2a 20 70 70 54 65 78 74 75 72 65 42 75 iew* ppTextureBu
5190: 66 66 65 72 29 3b 0d 0a 09 2a 2f 0d 0a 7d 0d 0a ffer);...*/..}..
51a0: 0d 0a 73 74 72 75 63 74 20 44 33 44 31 30 5f 45 ..struct D3D10_E
51b0: 46 46 45 43 54 5f 53 48 41 44 45 52 5f 44 45 53 FFECT_SHADER_DES
51c0: 43 20 7b 0d 0a 09 42 59 54 45 2a 09 70 49 6e 70 C {...BYTE*.pInp
51d0: 75 74 53 69 67 6e 61 74 75 72 65 3b 0d 0a 09 42 utSignature;...B
51e0: 4f 4f 4c 09 49 73 49 6e 6c 69 6e 65 3b 0d 0a 09 OOL.IsInline;...
51f0: 42 59 54 45 2a 09 70 42 79 74 65 63 6f 64 65 3b BYTE*.pBytecode;
5200: 0d 0a 09 55 49 4e 54 09 42 79 74 65 63 6f 64 65 ...UINT.Bytecode
5210: 4c 65 6e 67 74 68 3b 0d 0a 09 4c 50 43 53 54 52 Length;...LPCSTR
5220: 09 53 4f 44 65 63 6c 3b 0d 0a 09 55 49 4e 54 09 .SODecl;...UINT.
5230: 4e 75 6d 49 6e 70 75 74 53 69 67 6e 61 74 75 72 NumInputSignatur
5240: 65 45 6e 74 72 69 65 73 3b 0d 0a 09 55 49 4e 54 eEntries;...UINT
5250: 09 4e 75 6d 4f 75 74 70 75 74 53 69 67 6e 61 74 .NumOutputSignat
5260: 75 72 65 45 6e 74 72 69 65 73 3b 0d 0a 7d 0d 0a ureEntries;..}..
5270: 0d 0a 65 78 74 65 72 6e 20 28 43 29 20 63 6f 6e ..extern (C) con
5280: 73 74 20 47 55 49 44 20 49 49 44 5f 49 44 33 44 st GUID IID_ID3D
5290: 31 30 45 66 66 65 63 74 53 68 61 64 65 72 56 61 10EffectShaderVa
52a0: 72 69 61 62 6c 65 20 3d 20 7b 30 78 38 30 38 34 riable = {0x8084
52b0: 39 32 37 39 2c 20 30 78 63 37 39 39 2c 20 30 78 9279, 0xc799, 0x
52c0: 34 37 39 37 2c 20 5b 30 78 38 63 2c 20 30 78 33 4797, [0x8c, 0x3
52d0: 33 2c 20 30 78 34 2c 20 30 78 37 2c 20 30 78 61 3, 0x4, 0x7, 0xa
52e0: 30 2c 20 30 78 37 64 2c 20 30 78 39 65 2c 20 30 0, 0x7d, 0x9e, 0
52f0: 78 36 5d 7d 3b 0d 0a 0d 0a 69 6e 74 65 72 66 61 x6]};....interfa
5300: 63 65 20 49 44 33 44 31 30 45 66 66 65 63 74 53 ce ID3D10EffectS
5310: 68 61 64 65 72 56 61 72 69 61 62 6c 65 20 3a 20 haderVariable :
5320: 49 44 33 44 31 30 45 66 66 65 63 74 56 61 72 69 ID3D10EffectVari
5330: 61 62 6c 65 20 7b 0d 0a 2f 2a 20 54 4f 44 4f 3a able {../* TODO:
5340: 20 66 69 78 20 76 74 62 6c 5b 30 5d 20 62 75 67 fix vtbl[0] bug
5350: 0d 0a 09 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 ...extern(Window
5360: 73 29 20 3a 0d 0a 09 49 44 33 44 31 30 45 66 66 s) :...ID3D10Eff
5370: 65 63 74 54 79 70 65 20 47 65 74 54 79 70 65 28 ectType GetType(
5380: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 );...HRESULT Get
5390: 44 65 73 63 28 44 33 44 31 30 5f 45 46 46 45 43 Desc(D3D10_EFFEC
53a0: 54 5f 56 41 52 49 41 42 4c 45 5f 44 45 53 43 2a T_VARIABLE_DESC*
53b0: 20 70 44 65 73 63 29 3b 0d 0a 09 49 44 33 44 31 pDesc);...ID3D1
53c0: 30 45 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 0EffectVariable
53d0: 47 65 74 41 6e 6e 6f 74 61 74 69 6f 6e 42 79 49 GetAnnotationByI
53e0: 6e 64 65 78 28 55 49 4e 54 20 49 6e 64 65 78 29 ndex(UINT Index)
53f0: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
5400: 56 61 72 69 61 62 6c 65 20 47 65 74 41 6e 6e 6f Variable GetAnno
5410: 74 61 74 69 6f 6e 42 79 4e 61 6d 65 28 4c 50 43 tationByName(LPC
5420: 53 54 52 20 4e 61 6d 65 29 3b 0d 0a 09 49 44 33 STR Name);...ID3
5430: 44 31 30 45 66 66 65 63 74 56 61 72 69 61 62 6c D10EffectVariabl
5440: 65 20 47 65 74 4d 65 6d 62 65 72 42 79 49 6e 64 e GetMemberByInd
5450: 65 78 28 55 49 4e 54 20 49 6e 64 65 78 29 3b 0d ex(UINT Index);.
5460: 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 56 61 ..ID3D10EffectVa
5470: 72 69 61 62 6c 65 20 47 65 74 4d 65 6d 62 65 72 riable GetMember
5480: 42 79 4e 61 6d 65 28 4c 50 43 53 54 52 20 4e 61 ByName(LPCSTR Na
5490: 6d 65 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 me);...ID3D10Eff
54a0: 65 63 74 56 61 72 69 61 62 6c 65 20 47 65 74 4d ectVariable GetM
54b0: 65 6d 62 65 72 42 79 53 65 6d 61 6e 74 69 63 28 emberBySemantic(
54c0: 4c 50 43 53 54 52 20 53 65 6d 61 6e 74 69 63 29 LPCSTR Semantic)
54d0: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
54e0: 56 61 72 69 61 62 6c 65 20 47 65 74 45 6c 65 6d Variable GetElem
54f0: 65 6e 74 28 55 49 4e 54 20 49 6e 64 65 78 29 3b ent(UINT Index);
5500: 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 43 ...ID3D10EffectC
5510: 6f 6e 73 74 61 6e 74 42 75 66 66 65 72 20 47 65 onstantBuffer Ge
5520: 74 50 61 72 65 6e 74 43 6f 6e 73 74 61 6e 74 42 tParentConstantB
5530: 75 66 66 65 72 28 29 3b 0d 0a 09 49 44 33 44 31 uffer();...ID3D1
5540: 30 45 66 66 65 63 74 53 63 61 6c 61 72 56 61 72 0EffectScalarVar
5550: 69 61 62 6c 65 20 41 73 53 63 61 6c 61 72 28 29 iable AsScalar()
5560: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
5570: 56 65 63 74 6f 72 56 61 72 69 61 62 6c 65 20 41 VectorVariable A
5580: 73 56 65 63 74 6f 72 28 29 3b 0d 0a 09 49 44 33 sVector();...ID3
5590: 44 31 30 45 66 66 65 63 74 4d 61 74 72 69 78 56 D10EffectMatrixV
55a0: 61 72 69 61 62 6c 65 20 41 73 4d 61 74 72 69 78 ariable AsMatrix
55b0: 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 ();...ID3D10Effe
55c0: 63 74 53 74 72 69 6e 67 56 61 72 69 61 62 6c 65 ctStringVariable
55d0: 20 41 73 53 74 72 69 6e 67 28 29 3b 0d 0a 09 49 AsString();...I
55e0: 44 33 44 31 30 45 66 66 65 63 74 53 68 61 64 65 D3D10EffectShade
55f0: 72 52 65 73 6f 75 72 63 65 56 61 72 69 61 62 6c rResourceVariabl
5600: 65 20 41 73 53 68 61 64 65 72 52 65 73 6f 75 72 e AsShaderResour
5610: 63 65 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 ce();...ID3D10Ef
5620: 66 65 63 74 52 65 6e 64 65 72 54 61 72 67 65 74 fectRenderTarget
5630: 56 69 65 77 56 61 72 69 61 62 6c 65 20 41 73 52 ViewVariable AsR
5640: 65 6e 64 65 72 54 61 72 67 65 74 56 69 65 77 28 enderTargetView(
5650: 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 );...ID3D10Effec
5660: 74 44 65 70 74 68 53 74 65 6e 63 69 6c 56 69 65 tDepthStencilVie
5670: 77 56 61 72 69 61 62 6c 65 20 41 73 44 65 70 74 wVariable AsDept
5680: 68 53 74 65 6e 63 69 6c 56 69 65 77 28 29 3b 0d hStencilView();.
5690: 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 43 6f ..ID3D10EffectCo
56a0: 6e 73 74 61 6e 74 42 75 66 66 65 72 20 41 73 43 nstantBuffer AsC
56b0: 6f 6e 73 74 61 6e 74 42 75 66 66 65 72 28 29 3b onstantBuffer();
56c0: 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 53 ...ID3D10EffectS
56d0: 68 61 64 65 72 56 61 72 69 61 62 6c 65 20 41 73 haderVariable As
56e0: 53 68 61 64 65 72 28 29 3b 0d 0a 09 49 44 33 44 Shader();...ID3D
56f0: 31 30 45 66 66 65 63 74 42 6c 65 6e 64 56 61 72 10EffectBlendVar
5700: 69 61 62 6c 65 20 41 73 42 6c 65 6e 64 28 29 3b iable AsBlend();
5710: 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 44 ...ID3D10EffectD
5720: 65 70 74 68 53 74 65 6e 63 69 6c 56 61 72 69 61 epthStencilVaria
5730: 62 6c 65 20 41 73 44 65 70 74 68 53 74 65 6e 63 ble AsDepthStenc
5740: 69 6c 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 il();...ID3D10Ef
5750: 66 65 63 74 52 61 73 74 65 72 69 7a 65 72 56 61 fectRasterizerVa
5760: 72 69 61 62 6c 65 20 41 73 52 61 73 74 65 72 69 riable AsRasteri
5770: 7a 65 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 zer();...ID3D10E
5780: 66 66 65 63 74 53 61 6d 70 6c 65 72 56 61 72 69 ffectSamplerVari
5790: 61 62 6c 65 20 41 73 53 61 6d 70 6c 65 72 28 29 able AsSampler()
57a0: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 74 52 ;...HRESULT SetR
57b0: 61 77 56 61 6c 75 65 28 76 6f 69 64 2a 20 70 44 awValue(void* pD
57c0: 61 74 61 2c 20 55 49 4e 54 20 4f 66 66 73 65 74 ata, UINT Offset
57d0: 2c 20 55 49 4e 54 20 43 6f 75 6e 74 29 3b 0d 0a , UINT Count);..
57e0: 09 48 52 45 53 55 4c 54 20 47 65 74 52 61 77 56 .HRESULT GetRawV
57f0: 61 6c 75 65 28 76 6f 69 64 2a 20 70 44 61 74 61 alue(void* pData
5800: 2c 20 55 49 4e 54 20 4f 66 66 73 65 74 2c 20 55 , UINT Offset, U
5810: 49 4e 54 20 43 6f 75 6e 74 29 3b 0d 0a 09 48 52 INT Count);...HR
5820: 45 53 55 4c 54 20 47 65 74 53 68 61 64 65 72 44 ESULT GetShaderD
5830: 65 73 63 28 55 49 4e 54 20 53 68 61 64 65 72 49 esc(UINT ShaderI
5840: 6e 64 65 78 2c 20 44 33 44 31 30 5f 45 46 46 45 ndex, D3D10_EFFE
5850: 43 54 5f 53 48 41 44 45 52 5f 44 45 53 43 2a 20 CT_SHADER_DESC*
5860: 70 44 65 73 63 29 3b 0d 0a 09 48 52 45 53 55 4c pDesc);...HRESUL
5870: 54 20 47 65 74 56 65 72 74 65 78 53 68 61 64 65 T GetVertexShade
5880: 72 28 55 49 4e 54 20 53 68 61 64 65 72 49 6e 64 r(UINT ShaderInd
5890: 65 78 2c 20 49 44 33 44 31 30 56 65 72 74 65 78 ex, ID3D10Vertex
58a0: 53 68 61 64 65 72 2a 20 70 70 56 53 29 3b 0d 0a Shader* ppVS);..
58b0: 09 48 52 45 53 55 4c 54 20 47 65 74 47 65 6f 6d .HRESULT GetGeom
58c0: 65 74 72 79 53 68 61 64 65 72 28 55 49 4e 54 20 etryShader(UINT
58d0: 53 68 61 64 65 72 49 6e 64 65 78 2c 20 49 44 33 ShaderIndex, ID3
58e0: 44 31 30 47 65 6f 6d 65 74 72 79 53 68 61 64 65 D10GeometryShade
58f0: 72 2a 20 70 70 47 53 29 3b 0d 0a 09 48 52 45 53 r* ppGS);...HRES
5900: 55 4c 54 20 47 65 74 50 69 78 65 6c 53 68 61 64 ULT GetPixelShad
5910: 65 72 28 55 49 4e 54 20 53 68 61 64 65 72 49 6e er(UINT ShaderIn
5920: 64 65 78 2c 20 49 44 33 44 31 30 50 69 78 65 6c dex, ID3D10Pixel
5930: 53 68 61 64 65 72 2a 20 70 70 50 53 29 3b 0d 0a Shader* ppPS);..
5940: 09 48 52 45 53 55 4c 54 20 47 65 74 49 6e 70 75 .HRESULT GetInpu
5950: 74 53 69 67 6e 61 74 75 72 65 45 6c 65 6d 65 6e tSignatureElemen
5960: 74 44 65 73 63 28 55 49 4e 54 20 53 68 61 64 65 tDesc(UINT Shade
5970: 72 49 6e 64 65 78 2c 20 55 49 4e 54 20 45 6c 65 rIndex, UINT Ele
5980: 6d 65 6e 74 2c 20 44 33 44 31 30 5f 53 49 47 4e ment, D3D10_SIGN
5990: 41 54 55 52 45 5f 50 41 52 41 4d 45 54 45 52 5f ATURE_PARAMETER_
59a0: 44 45 53 43 2a 20 70 44 65 73 63 29 3b 0d 0a 09 DESC* pDesc);...
59b0: 48 52 45 53 55 4c 54 20 47 65 74 4f 75 74 70 75 HRESULT GetOutpu
59c0: 74 53 69 67 6e 61 74 75 72 65 45 6c 65 6d 65 6e tSignatureElemen
59d0: 74 44 65 73 63 28 55 49 4e 54 20 53 68 61 64 65 tDesc(UINT Shade
59e0: 72 49 6e 64 65 78 2c 20 55 49 4e 54 20 45 6c 65 rIndex, UINT Ele
59f0: 6d 65 6e 74 2c 20 44 33 44 31 30 5f 53 49 47 4e ment, D3D10_SIGN
5a00: 41 54 55 52 45 5f 50 41 52 41 4d 45 54 45 52 5f ATURE_PARAMETER_
5a10: 44 45 53 43 2a 20 70 44 65 73 63 29 3b 0d 0a 09 DESC* pDesc);...
5a20: 2a 2f 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e 20 */..}....extern
5a30: 28 43 29 20 63 6f 6e 73 74 20 47 55 49 44 20 49 (C) const GUID I
5a40: 49 44 5f 49 44 33 44 31 30 45 66 66 65 63 74 42 ID_ID3D10EffectB
5a50: 6c 65 6e 64 56 61 72 69 61 62 6c 65 20 3d 20 7b lendVariable = {
5a60: 30 78 31 66 63 64 32 32 39 34 2c 20 30 78 64 66 0x1fcd2294, 0xdf
5a70: 36 64 2c 20 30 78 34 65 61 65 2c 20 5b 30 78 38 6d, 0x4eae, [0x8
5a80: 36 2c 20 30 78 62 33 2c 20 30 78 65 2c 20 30 78 6, 0xb3, 0xe, 0x
5a90: 39 31 2c 20 30 78 36 30 2c 20 30 78 63 66 2c 20 91, 0x60, 0xcf,
5aa0: 30 78 62 30 2c 20 30 78 37 62 5d 7d 3b 0d 0a 0d 0xb0, 0x7b]};...
5ab0: 0a 69 6e 74 65 72 66 61 63 65 20 49 44 33 44 31 .interface ID3D1
5ac0: 30 45 66 66 65 63 74 42 6c 65 6e 64 56 61 72 69 0EffectBlendVari
5ad0: 61 62 6c 65 20 3a 20 49 44 33 44 31 30 45 66 66 able : ID3D10Eff
5ae0: 65 63 74 56 61 72 69 61 62 6c 65 20 7b 0d 0a 2f ectVariable {../
5af0: 2a 20 54 4f 44 4f 3a 20 66 69 78 20 76 74 62 6c * TODO: fix vtbl
5b00: 5b 30 5d 20 62 75 67 0d 0a 09 65 78 74 65 72 6e [0] bug...extern
5b10: 28 57 69 6e 64 6f 77 73 29 20 3a 0d 0a 09 49 44 (Windows) :...ID
5b20: 33 44 31 30 45 66 66 65 63 74 54 79 70 65 20 47 3D10EffectType G
5b30: 65 74 54 79 70 65 28 29 3b 0d 0a 09 48 52 45 53 etType();...HRES
5b40: 55 4c 54 20 47 65 74 44 65 73 63 28 44 33 44 31 ULT GetDesc(D3D1
5b50: 30 5f 45 46 46 45 43 54 5f 56 41 52 49 41 42 4c 0_EFFECT_VARIABL
5b60: 45 5f 44 45 53 43 2a 20 70 44 65 73 63 29 3b 0d E_DESC* pDesc);.
5b70: 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 56 61 ..ID3D10EffectVa
5b80: 72 69 61 62 6c 65 20 47 65 74 41 6e 6e 6f 74 61 riable GetAnnota
5b90: 74 69 6f 6e 42 79 49 6e 64 65 78 28 55 49 4e 54 tionByIndex(UINT
5ba0: 20 49 6e 64 65 78 29 3b 0d 0a 09 49 44 33 44 31 Index);...ID3D1
5bb0: 30 45 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 0EffectVariable
5bc0: 47 65 74 41 6e 6e 6f 74 61 74 69 6f 6e 42 79 4e GetAnnotationByN
5bd0: 61 6d 65 28 4c 50 43 53 54 52 20 4e 61 6d 65 29 ame(LPCSTR Name)
5be0: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
5bf0: 56 61 72 69 61 62 6c 65 20 47 65 74 4d 65 6d 62 Variable GetMemb
5c00: 65 72 42 79 49 6e 64 65 78 28 55 49 4e 54 20 49 erByIndex(UINT I
5c10: 6e 64 65 78 29 3b 0d 0a 09 49 44 33 44 31 30 45 ndex);...ID3D10E
5c20: 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 47 65 ffectVariable Ge
5c30: 74 4d 65 6d 62 65 72 42 79 4e 61 6d 65 28 4c 50 tMemberByName(LP
5c40: 43 53 54 52 20 4e 61 6d 65 29 3b 0d 0a 09 49 44 CSTR Name);...ID
5c50: 33 44 31 30 45 66 66 65 63 74 56 61 72 69 61 62 3D10EffectVariab
5c60: 6c 65 20 47 65 74 4d 65 6d 62 65 72 42 79 53 65 le GetMemberBySe
5c70: 6d 61 6e 74 69 63 28 4c 50 43 53 54 52 20 53 65 mantic(LPCSTR Se
5c80: 6d 61 6e 74 69 63 29 3b 0d 0a 09 49 44 33 44 31 mantic);...ID3D1
5c90: 30 45 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 0EffectVariable
5ca0: 47 65 74 45 6c 65 6d 65 6e 74 28 55 49 4e 54 20 GetElement(UINT
5cb0: 49 6e 64 65 78 29 3b 0d 0a 09 49 44 33 44 31 30 Index);...ID3D10
5cc0: 45 66 66 65 63 74 43 6f 6e 73 74 61 6e 74 42 75 EffectConstantBu
5cd0: 66 66 65 72 20 47 65 74 50 61 72 65 6e 74 43 6f ffer GetParentCo
5ce0: 6e 73 74 61 6e 74 42 75 66 66 65 72 28 29 3b 0d nstantBuffer();.
5cf0: 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 53 63 ..ID3D10EffectSc
5d00: 61 6c 61 72 56 61 72 69 61 62 6c 65 20 41 73 53 alarVariable AsS
5d10: 63 61 6c 61 72 28 29 3b 0d 0a 09 49 44 33 44 31 calar();...ID3D1
5d20: 30 45 66 66 65 63 74 56 65 63 74 6f 72 56 61 72 0EffectVectorVar
5d30: 69 61 62 6c 65 20 41 73 56 65 63 74 6f 72 28 29 iable AsVector()
5d40: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
5d50: 4d 61 74 72 69 78 56 61 72 69 61 62 6c 65 20 41 MatrixVariable A
5d60: 73 4d 61 74 72 69 78 28 29 3b 0d 0a 09 49 44 33 sMatrix();...ID3
5d70: 44 31 30 45 66 66 65 63 74 53 74 72 69 6e 67 56 D10EffectStringV
5d80: 61 72 69 61 62 6c 65 20 41 73 53 74 72 69 6e 67 ariable AsString
5d90: 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 ();...ID3D10Effe
5da0: 63 74 53 68 61 64 65 72 52 65 73 6f 75 72 63 65 ctShaderResource
5db0: 56 61 72 69 61 62 6c 65 20 41 73 53 68 61 64 65 Variable AsShade
5dc0: 72 52 65 73 6f 75 72 63 65 28 29 3b 0d 0a 09 49 rResource();...I
5dd0: 44 33 44 31 30 45 66 66 65 63 74 52 65 6e 64 65 D3D10EffectRende
5de0: 72 54 61 72 67 65 74 56 69 65 77 56 61 72 69 61 rTargetViewVaria
5df0: 62 6c 65 20 41 73 52 65 6e 64 65 72 54 61 72 67 ble AsRenderTarg
5e00: 65 74 56 69 65 77 28 29 3b 0d 0a 09 49 44 33 44 etView();...ID3D
5e10: 31 30 45 66 66 65 63 74 44 65 70 74 68 53 74 65 10EffectDepthSte
5e20: 6e 63 69 6c 56 69 65 77 56 61 72 69 61 62 6c 65 ncilViewVariable
5e30: 20 41 73 44 65 70 74 68 53 74 65 6e 63 69 6c 56 AsDepthStencilV
5e40: 69 65 77 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 iew();...ID3D10E
5e50: 66 66 65 63 74 43 6f 6e 73 74 61 6e 74 42 75 66 ffectConstantBuf
5e60: 66 65 72 20 41 73 43 6f 6e 73 74 61 6e 74 42 75 fer AsConstantBu
5e70: 66 66 65 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 ffer();...ID3D10
5e80: 45 66 66 65 63 74 53 68 61 64 65 72 56 61 72 69 EffectShaderVari
5e90: 61 62 6c 65 20 41 73 53 68 61 64 65 72 28 29 3b able AsShader();
5ea0: 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 42 ...ID3D10EffectB
5eb0: 6c 65 6e 64 56 61 72 69 61 62 6c 65 20 41 73 42 lendVariable AsB
5ec0: 6c 65 6e 64 28 29 3b 0d 0a 09 49 44 33 44 31 30 lend();...ID3D10
5ed0: 45 66 66 65 63 74 44 65 70 74 68 53 74 65 6e 63 EffectDepthStenc
5ee0: 69 6c 56 61 72 69 61 62 6c 65 20 41 73 44 65 70 ilVariable AsDep
5ef0: 74 68 53 74 65 6e 63 69 6c 28 29 3b 0d 0a 09 49 thStencil();...I
5f00: 44 33 44 31 30 45 66 66 65 63 74 52 61 73 74 65 D3D10EffectRaste
5f10: 72 69 7a 65 72 56 61 72 69 61 62 6c 65 20 41 73 rizerVariable As
5f20: 52 61 73 74 65 72 69 7a 65 72 28 29 3b 0d 0a 09 Rasterizer();...
5f30: 49 44 33 44 31 30 45 66 66 65 63 74 53 61 6d 70 ID3D10EffectSamp
5f40: 6c 65 72 56 61 72 69 61 62 6c 65 20 41 73 53 61 lerVariable AsSa
5f50: 6d 70 6c 65 72 28 29 3b 0d 0a 09 48 52 45 53 55 mpler();...HRESU
5f60: 4c 54 20 53 65 74 52 61 77 56 61 6c 75 65 28 76 LT SetRawValue(v
5f70: 6f 69 64 2a 20 70 44 61 74 61 2c 20 55 49 4e 54 oid* pData, UINT
5f80: 20 4f 66 66 73 65 74 2c 20 55 49 4e 54 20 43 6f Offset, UINT Co
5f90: 75 6e 74 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 unt);...HRESULT
5fa0: 47 65 74 52 61 77 56 61 6c 75 65 28 76 6f 69 64 GetRawValue(void
5fb0: 2a 20 70 44 61 74 61 2c 20 55 49 4e 54 20 4f 66 * pData, UINT Of
5fc0: 66 73 65 74 2c 20 55 49 4e 54 20 43 6f 75 6e 74 fset, UINT Count
5fd0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 );...HRESULT Get
5fe0: 42 6c 65 6e 64 53 74 61 74 65 28 55 49 4e 54 20 BlendState(UINT
5ff0: 49 6e 64 65 78 2c 20 49 44 33 44 31 30 42 6c 65 Index, ID3D10Ble
6000: 6e 64 53 74 61 74 65 2a 20 70 70 42 6c 65 6e 64 ndState* ppBlend
6010: 53 74 61 74 65 29 3b 0d 0a 09 48 52 45 53 55 4c State);...HRESUL
6020: 54 20 47 65 74 42 61 63 6b 69 6e 67 53 74 6f 72 T GetBackingStor
6030: 65 28 55 49 4e 54 20 49 6e 64 65 78 2c 20 44 33 e(UINT Index, D3
6040: 44 31 30 5f 42 4c 45 4e 44 5f 44 45 53 43 2a 20 D10_BLEND_DESC*
6050: 70 42 6c 65 6e 64 44 65 73 63 29 3b 0d 0a 09 2a pBlendDesc);...*
6060: 2f 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 /..}....extern (
6070: 43 29 20 63 6f 6e 73 74 20 47 55 49 44 20 49 49 C) const GUID II
6080: 44 5f 49 44 33 44 31 30 45 66 66 65 63 74 44 65 D_ID3D10EffectDe
6090: 70 74 68 53 74 65 6e 63 69 6c 56 61 72 69 61 62 pthStencilVariab
60a0: 6c 65 20 3d 20 7b 30 78 61 66 34 38 32 33 36 38 le = {0xaf482368
60b0: 2c 20 30 78 33 33 30 61 2c 20 30 78 34 36 61 35 , 0x330a, 0x46a5
60c0: 2c 20 5b 30 78 39 61 2c 20 30 78 35 63 2c 20 30 , [0x9a, 0x5c, 0
60d0: 78 31 2c 20 30 78 63 37 2c 20 30 78 31 61 2c 20 x1, 0xc7, 0x1a,
60e0: 30 78 66 32 2c 20 30 78 34 63 2c 20 30 78 38 64 0xf2, 0x4c, 0x8d
60f0: 5d 7d 3b 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 ]};....interface
6100: 20 49 44 33 44 31 30 45 66 66 65 63 74 44 65 70 ID3D10EffectDep
6110: 74 68 53 74 65 6e 63 69 6c 56 61 72 69 61 62 6c thStencilVariabl
6120: 65 20 3a 20 49 44 33 44 31 30 45 66 66 65 63 74 e : ID3D10Effect
6130: 56 61 72 69 61 62 6c 65 20 7b 0d 0a 2f 2a 20 54 Variable {../* T
6140: 4f 44 4f 3a 20 66 69 78 20 76 74 62 6c 5b 30 5d ODO: fix vtbl[0]
6150: 20 62 75 67 0d 0a 09 65 78 74 65 72 6e 28 57 69 bug...extern(Wi
6160: 6e 64 6f 77 73 29 20 3a 0d 0a 09 49 44 33 44 31 ndows) :...ID3D1
6170: 30 45 66 66 65 63 74 54 79 70 65 20 47 65 74 54 0EffectType GetT
6180: 79 70 65 28 29 3b 0d 0a 09 48 52 45 53 55 4c 54 ype();...HRESULT
6190: 20 47 65 74 44 65 73 63 28 44 33 44 31 30 5f 45 GetDesc(D3D10_E
61a0: 46 46 45 43 54 5f 56 41 52 49 41 42 4c 45 5f 44 FFECT_VARIABLE_D
61b0: 45 53 43 2a 20 70 44 65 73 63 29 3b 0d 0a 09 49 ESC* pDesc);...I
61c0: 44 33 44 31 30 45 66 66 65 63 74 56 61 72 69 61 D3D10EffectVaria
61d0: 62 6c 65 20 47 65 74 41 6e 6e 6f 74 61 74 69 6f ble GetAnnotatio
61e0: 6e 42 79 49 6e 64 65 78 28 55 49 4e 54 20 49 6e nByIndex(UINT In
61f0: 64 65 78 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 dex);...ID3D10Ef
6200: 66 65 63 74 56 61 72 69 61 62 6c 65 20 47 65 74 fectVariable Get
6210: 41 6e 6e 6f 74 61 74 69 6f 6e 42 79 4e 61 6d 65 AnnotationByName
6220: 28 4c 50 43 53 54 52 20 4e 61 6d 65 29 3b 0d 0a (LPCSTR Name);..
6230: 09 49 44 33 44 31 30 45 66 66 65 63 74 56 61 72 .ID3D10EffectVar
6240: 69 61 62 6c 65 20 47 65 74 4d 65 6d 62 65 72 42 iable GetMemberB
6250: 79 49 6e 64 65 78 28 55 49 4e 54 20 49 6e 64 65 yIndex(UINT Inde
6260: 78 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 x);...ID3D10Effe
6270: 63 74 56 61 72 69 61 62 6c 65 20 47 65 74 4d 65 ctVariable GetMe
6280: 6d 62 65 72 42 79 4e 61 6d 65 28 4c 50 43 53 54 mberByName(LPCST
6290: 52 20 4e 61 6d 65 29 3b 0d 0a 09 49 44 33 44 31 R Name);...ID3D1
62a0: 30 45 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 0EffectVariable
62b0: 47 65 74 4d 65 6d 62 65 72 42 79 53 65 6d 61 6e GetMemberBySeman
62c0: 74 69 63 28 4c 50 43 53 54 52 20 53 65 6d 61 6e tic(LPCSTR Seman
62d0: 74 69 63 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 tic);...ID3D10Ef
62e0: 66 65 63 74 56 61 72 69 61 62 6c 65 20 47 65 74 fectVariable Get
62f0: 45 6c 65 6d 65 6e 74 28 55 49 4e 54 20 49 6e 64 Element(UINT Ind
6300: 65 78 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 ex);...ID3D10Eff
6310: 65 63 74 43 6f 6e 73 74 61 6e 74 42 75 66 66 65 ectConstantBuffe
6320: 72 20 47 65 74 50 61 72 65 6e 74 43 6f 6e 73 74 r GetParentConst
6330: 61 6e 74 42 75 66 66 65 72 28 29 3b 0d 0a 09 49 antBuffer();...I
6340: 44 33 44 31 30 45 66 66 65 63 74 53 63 61 6c 61 D3D10EffectScala
6350: 72 56 61 72 69 61 62 6c 65 20 41 73 53 63 61 6c rVariable AsScal
6360: 61 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 ar();...ID3D10Ef
6370: 66 65 63 74 56 65 63 74 6f 72 56 61 72 69 61 62 fectVectorVariab
6380: 6c 65 20 41 73 56 65 63 74 6f 72 28 29 3b 0d 0a le AsVector();..
6390: 09 49 44 33 44 31 30 45 66 66 65 63 74 4d 61 74 .ID3D10EffectMat
63a0: 72 69 78 56 61 72 69 61 62 6c 65 20 41 73 4d 61 rixVariable AsMa
63b0: 74 72 69 78 28 29 3b 0d 0a 09 49 44 33 44 31 30 trix();...ID3D10
63c0: 45 66 66 65 63 74 53 74 72 69 6e 67 56 61 72 69 EffectStringVari
63d0: 61 62 6c 65 20 41 73 53 74 72 69 6e 67 28 29 3b able AsString();
63e0: 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 53 ...ID3D10EffectS
63f0: 68 61 64 65 72 52 65 73 6f 75 72 63 65 56 61 72 haderResourceVar
6400: 69 61 62 6c 65 20 41 73 53 68 61 64 65 72 52 65 iable AsShaderRe
6410: 73 6f 75 72 63 65 28 29 3b 0d 0a 09 49 44 33 44 source();...ID3D
6420: 31 30 45 66 66 65 63 74 52 65 6e 64 65 72 54 61 10EffectRenderTa
6430: 72 67 65 74 56 69 65 77 56 61 72 69 61 62 6c 65 rgetViewVariable
6440: 20 41 73 52 65 6e 64 65 72 54 61 72 67 65 74 56 AsRenderTargetV
6450: 69 65 77 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 iew();...ID3D10E
6460: 66 66 65 63 74 44 65 70 74 68 53 74 65 6e 63 69 ffectDepthStenci
6470: 6c 56 69 65 77 56 61 72 69 61 62 6c 65 20 41 73 lViewVariable As
6480: 44 65 70 74 68 53 74 65 6e 63 69 6c 56 69 65 77 DepthStencilView
6490: 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 ();...ID3D10Effe
64a0: 63 74 43 6f 6e 73 74 61 6e 74 42 75 66 66 65 72 ctConstantBuffer
64b0: 20 41 73 43 6f 6e 73 74 61 6e 74 42 75 66 66 65 AsConstantBuffe
64c0: 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 r();...ID3D10Eff
64d0: 65 63 74 53 68 61 64 65 72 56 61 72 69 61 62 6c ectShaderVariabl
64e0: 65 20 41 73 53 68 61 64 65 72 28 29 3b 0d 0a 09 e AsShader();...
64f0: 49 44 33 44 31 30 45 66 66 65 63 74 42 6c 65 6e ID3D10EffectBlen
6500: 64 56 61 72 69 61 62 6c 65 20 41 73 42 6c 65 6e dVariable AsBlen
6510: 64 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 d();...ID3D10Eff
6520: 65 63 74 44 65 70 74 68 53 74 65 6e 63 69 6c 56 ectDepthStencilV
6530: 61 72 69 61 62 6c 65 20 41 73 44 65 70 74 68 53 ariable AsDepthS
6540: 74 65 6e 63 69 6c 28 29 3b 0d 0a 09 49 44 33 44 tencil();...ID3D
6550: 31 30 45 66 66 65 63 74 52 61 73 74 65 72 69 7a 10EffectRasteriz
6560: 65 72 56 61 72 69 61 62 6c 65 20 41 73 52 61 73 erVariable AsRas
6570: 74 65 72 69 7a 65 72 28 29 3b 0d 0a 09 49 44 33 terizer();...ID3
6580: 44 31 30 45 66 66 65 63 74 53 61 6d 70 6c 65 72 D10EffectSampler
6590: 56 61 72 69 61 62 6c 65 20 41 73 53 61 6d 70 6c Variable AsSampl
65a0: 65 72 28 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 er();...HRESULT
65b0: 53 65 74 52 61 77 56 61 6c 75 65 28 76 6f 69 64 SetRawValue(void
65c0: 2a 20 70 44 61 74 61 2c 20 55 49 4e 54 20 4f 66 * pData, UINT Of
65d0: 66 73 65 74 2c 20 55 49 4e 54 20 43 6f 75 6e 74 fset, UINT Count
65e0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 );...HRESULT Get
65f0: 52 61 77 56 61 6c 75 65 28 76 6f 69 64 2a 20 70 RawValue(void* p
6600: 44 61 74 61 2c 20 55 49 4e 54 20 4f 66 66 73 65 Data, UINT Offse
6610: 74 2c 20 55 49 4e 54 20 43 6f 75 6e 74 29 3b 0d t, UINT Count);.
6620: 0a 09 48 52 45 53 55 4c 54 20 47 65 74 44 65 70 ..HRESULT GetDep
6630: 74 68 53 74 65 6e 63 69 6c 53 74 61 74 65 28 55 thStencilState(U
6640: 49 4e 54 20 49 6e 64 65 78 2c 20 49 44 33 44 31 INT Index, ID3D1
6650: 30 44 65 70 74 68 53 74 65 6e 63 69 6c 53 74 61 0DepthStencilSta
6660: 74 65 2a 20 70 70 44 65 70 74 68 53 74 65 6e 63 te* ppDepthStenc
6670: 69 6c 53 74 61 74 65 29 3b 0d 0a 09 48 52 45 53 ilState);...HRES
6680: 55 4c 54 20 47 65 74 42 61 63 6b 69 6e 67 53 74 ULT GetBackingSt
6690: 6f 72 65 28 55 49 4e 54 20 49 6e 64 65 78 2c 20 ore(UINT Index,
66a0: 44 33 44 31 30 5f 44 45 50 54 48 5f 53 54 45 4e D3D10_DEPTH_STEN
66b0: 43 49 4c 5f 44 45 53 43 2a 20 70 44 65 70 74 68 CIL_DESC* pDepth
66c0: 53 74 65 6e 63 69 6c 44 65 73 63 29 3b 0d 0a 09 StencilDesc);...
66d0: 2a 2f 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e 20 */..}....extern
66e0: 28 43 29 20 63 6f 6e 73 74 20 47 55 49 44 20 49 (C) const GUID I
66f0: 49 44 5f 49 44 33 44 31 30 45 66 66 65 63 74 52 ID_ID3D10EffectR
6700: 61 73 74 65 72 69 7a 65 72 56 61 72 69 61 62 6c asterizerVariabl
6710: 65 20 3d 20 7b 30 78 32 31 61 66 39 66 30 65 2c e = {0x21af9f0e,
6720: 20 30 78 34 64 39 34 2c 20 30 78 34 65 61 39 2c 0x4d94, 0x4ea9,
6730: 20 5b 30 78 39 37 2c 20 30 78 38 35 2c 20 30 78 [0x97, 0x85, 0x
6740: 32 63 2c 20 30 78 62 37 2c 20 30 78 36 62 2c 20 2c, 0xb7, 0x6b,
6750: 30 78 38 63 2c 20 30 78 62 2c 20 30 78 33 34 5d 0x8c, 0xb, 0x34]
6760: 7d 3b 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 };....interface
6770: 49 44 33 44 31 30 45 66 66 65 63 74 52 61 73 74 ID3D10EffectRast
6780: 65 72 69 7a 65 72 56 61 72 69 61 62 6c 65 20 3a erizerVariable :
6790: 20 49 44 33 44 31 30 45 66 66 65 63 74 56 61 72 ID3D10EffectVar
67a0: 69 61 62 6c 65 20 7b 0d 0a 2f 2a 20 54 4f 44 4f iable {../* TODO
67b0: 3a 20 66 69 78 20 76 74 62 6c 5b 30 5d 20 62 75 : fix vtbl[0] bu
67c0: 67 0d 0a 09 65 78 74 65 72 6e 28 57 69 6e 64 6f g...extern(Windo
67d0: 77 73 29 20 3a 0d 0a 09 49 44 33 44 31 30 45 66 ws) :...ID3D10Ef
67e0: 66 65 63 74 54 79 70 65 20 47 65 74 54 79 70 65 fectType GetType
67f0: 28 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 ();...HRESULT Ge
6800: 74 44 65 73 63 28 44 33 44 31 30 5f 45 46 46 45 tDesc(D3D10_EFFE
6810: 43 54 5f 56 41 52 49 41 42 4c 45 5f 44 45 53 43 CT_VARIABLE_DESC
6820: 2a 20 70 44 65 73 63 29 3b 0d 0a 09 49 44 33 44 * pDesc);...ID3D
6830: 31 30 45 66 66 65 63 74 56 61 72 69 61 62 6c 65 10EffectVariable
6840: 20 47 65 74 41 6e 6e 6f 74 61 74 69 6f 6e 42 79 GetAnnotationBy
6850: 49 6e 64 65 78 28 55 49 4e 54 20 49 6e 64 65 78 Index(UINT Index
6860: 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 );...ID3D10Effec
6870: 74 56 61 72 69 61 62 6c 65 20 47 65 74 41 6e 6e tVariable GetAnn
6880: 6f 74 61 74 69 6f 6e 42 79 4e 61 6d 65 28 4c 50 otationByName(LP
6890: 43 53 54 52 20 4e 61 6d 65 29 3b 0d 0a 09 49 44 CSTR Name);...ID
68a0: 33 44 31 30 45 66 66 65 63 74 56 61 72 69 61 62 3D10EffectVariab
68b0: 6c 65 20 47 65 74 4d 65 6d 62 65 72 42 79 49 6e le GetMemberByIn
68c0: 64 65 78 28 55 49 4e 54 20 49 6e 64 65 78 29 3b dex(UINT Index);
68d0: 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 56 ...ID3D10EffectV
68e0: 61 72 69 61 62 6c 65 20 47 65 74 4d 65 6d 62 65 ariable GetMembe
68f0: 72 42 79 4e 61 6d 65 28 4c 50 43 53 54 52 20 4e rByName(LPCSTR N
6900: 61 6d 65 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 ame);...ID3D10Ef
6910: 66 65 63 74 56 61 72 69 61 62 6c 65 20 47 65 74 fectVariable Get
6920: 4d 65 6d 62 65 72 42 79 53 65 6d 61 6e 74 69 63 MemberBySemantic
6930: 28 4c 50 43 53 54 52 20 53 65 6d 61 6e 74 69 63 (LPCSTR Semantic
6940: 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 );...ID3D10Effec
6950: 74 56 61 72 69 61 62 6c 65 20 47 65 74 45 6c 65 tVariable GetEle
6960: 6d 65 6e 74 28 55 49 4e 54 20 49 6e 64 65 78 29 ment(UINT Index)
6970: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
6980: 43 6f 6e 73 74 61 6e 74 42 75 66 66 65 72 20 47 ConstantBuffer G
6990: 65 74 50 61 72 65 6e 74 43 6f 6e 73 74 61 6e 74 etParentConstant
69a0: 42 75 66 66 65 72 28 29 3b 0d 0a 09 49 44 33 44 Buffer();...ID3D
69b0: 31 30 45 66 66 65 63 74 53 63 61 6c 61 72 56 61 10EffectScalarVa
69c0: 72 69 61 62 6c 65 20 41 73 53 63 61 6c 61 72 28 riable AsScalar(
69d0: 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 );...ID3D10Effec
69e0: 74 56 65 63 74 6f 72 56 61 72 69 61 62 6c 65 20 tVectorVariable
69f0: 41 73 56 65 63 74 6f 72 28 29 3b 0d 0a 09 49 44 AsVector();...ID
6a00: 33 44 31 30 45 66 66 65 63 74 4d 61 74 72 69 78 3D10EffectMatrix
6a10: 56 61 72 69 61 62 6c 65 20 41 73 4d 61 74 72 69 Variable AsMatri
6a20: 78 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 x();...ID3D10Eff
6a30: 65 63 74 53 74 72 69 6e 67 56 61 72 69 61 62 6c ectStringVariabl
6a40: 65 20 41 73 53 74 72 69 6e 67 28 29 3b 0d 0a 09 e AsString();...
6a50: 49 44 33 44 31 30 45 66 66 65 63 74 53 68 61 64 ID3D10EffectShad
6a60: 65 72 52 65 73 6f 75 72 63 65 56 61 72 69 61 62 erResourceVariab
6a70: 6c 65 20 41 73 53 68 61 64 65 72 52 65 73 6f 75 le AsShaderResou
6a80: 72 63 65 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 rce();...ID3D10E
6a90: 66 66 65 63 74 52 65 6e 64 65 72 54 61 72 67 65 ffectRenderTarge
6aa0: 74 56 69 65 77 56 61 72 69 61 62 6c 65 20 41 73 tViewVariable As
6ab0: 52 65 6e 64 65 72 54 61 72 67 65 74 56 69 65 77 RenderTargetView
6ac0: 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 ();...ID3D10Effe
6ad0: 63 74 44 65 70 74 68 53 74 65 6e 63 69 6c 56 69 ctDepthStencilVi
6ae0: 65 77 56 61 72 69 61 62 6c 65 20 41 73 44 65 70 ewVariable AsDep
6af0: 74 68 53 74 65 6e 63 69 6c 56 69 65 77 28 29 3b thStencilView();
6b00: 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 43 ...ID3D10EffectC
6b10: 6f 6e 73 74 61 6e 74 42 75 66 66 65 72 20 41 73 onstantBuffer As
6b20: 43 6f 6e 73 74 61 6e 74 42 75 66 66 65 72 28 29 ConstantBuffer()
6b30: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
6b40: 53 68 61 64 65 72 56 61 72 69 61 62 6c 65 20 41 ShaderVariable A
6b50: 73 53 68 61 64 65 72 28 29 3b 0d 0a 09 49 44 33 sShader();...ID3
6b60: 44 31 30 45 66 66 65 63 74 42 6c 65 6e 64 56 61 D10EffectBlendVa
6b70: 72 69 61 62 6c 65 20 41 73 42 6c 65 6e 64 28 29 riable AsBlend()
6b80: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
6b90: 44 65 70 74 68 53 74 65 6e 63 69 6c 56 61 72 69 DepthStencilVari
6ba0: 61 62 6c 65 20 41 73 44 65 70 74 68 53 74 65 6e able AsDepthSten
6bb0: 63 69 6c 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 cil();...ID3D10E
6bc0: 66 66 65 63 74 52 61 73 74 65 72 69 7a 65 72 56 ffectRasterizerV
6bd0: 61 72 69 61 62 6c 65 20 41 73 52 61 73 74 65 72 ariable AsRaster
6be0: 69 7a 65 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 izer();...ID3D10
6bf0: 45 66 66 65 63 74 53 61 6d 70 6c 65 72 56 61 72 EffectSamplerVar
6c00: 69 61 62 6c 65 20 41 73 53 61 6d 70 6c 65 72 28 iable AsSampler(
6c10: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 74 );...HRESULT Set
6c20: 52 61 77 56 61 6c 75 65 28 76 6f 69 64 2a 20 70 RawValue(void* p
6c30: 44 61 74 61 2c 20 55 49 4e 54 20 4f 66 66 73 65 Data, UINT Offse
6c40: 74 2c 20 55 49 4e 54 20 43 6f 75 6e 74 29 3b 0d t, UINT Count);.
6c50: 0a 09 48 52 45 53 55 4c 54 20 47 65 74 52 61 77 ..HRESULT GetRaw
6c60: 56 61 6c 75 65 28 76 6f 69 64 2a 20 70 44 61 74 Value(void* pDat
6c70: 61 2c 20 55 49 4e 54 20 4f 66 66 73 65 74 2c 20 a, UINT Offset,
6c80: 55 49 4e 54 20 43 6f 75 6e 74 29 3b 0d 0a 09 48 UINT Count);...H
6c90: 52 45 53 55 4c 54 20 47 65 74 52 61 73 74 65 72 RESULT GetRaster
6ca0: 69 7a 65 72 53 74 61 74 65 28 55 49 4e 54 20 49 izerState(UINT I
6cb0: 6e 64 65 78 2c 20 49 44 33 44 31 30 52 61 73 74 ndex, ID3D10Rast
6cc0: 65 72 69 7a 65 72 53 74 61 74 65 2a 20 70 70 52 erizerState* ppR
6cd0: 61 73 74 65 72 69 7a 65 72 53 74 61 74 65 29 3b asterizerState);
6ce0: 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 42 61 ...HRESULT GetBa
6cf0: 63 6b 69 6e 67 53 74 6f 72 65 28 55 49 4e 54 20 ckingStore(UINT
6d00: 49 6e 64 65 78 2c 20 44 33 44 31 30 5f 52 41 53 Index, D3D10_RAS
6d10: 54 45 52 49 5a 45 52 5f 44 45 53 43 2a 20 70 52 TERIZER_DESC* pR
6d20: 61 73 74 65 72 69 7a 65 72 44 65 73 63 29 3b 0d asterizerDesc);.
6d30: 0a 09 2a 2f 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 72 ..*/..}....exter
6d40: 6e 20 28 43 29 20 63 6f 6e 73 74 20 47 55 49 44 n (C) const GUID
6d50: 20 49 49 44 5f 49 44 33 44 31 30 45 66 66 65 63 IID_ID3D10Effec
6d60: 74 53 61 6d 70 6c 65 72 56 61 72 69 61 62 6c 65 tSamplerVariable
6d70: 20 3d 20 7b 30 78 36 35 33 30 64 35 63 37 2c 20 = {0x6530d5c7,
6d80: 30 78 30 37 65 39 2c 20 30 78 34 32 37 31 2c 20 0x07e9, 0x4271,
6d90: 5b 30 78 61 34 2c 20 30 78 31 38 2c 20 30 78 65 [0xa4, 0x18, 0xe
6da0: 37 2c 20 30 78 63 65 2c 20 30 78 34 62 2c 20 30 7, 0xce, 0x4b, 0
6db0: 78 64 31 2c 20 30 78 65 34 2c 20 30 78 38 30 5d xd1, 0xe4, 0x80]
6dc0: 7d 3b 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 };....interface
6dd0: 49 44 33 44 31 30 45 66 66 65 63 74 53 61 6d 70 ID3D10EffectSamp
6de0: 6c 65 72 56 61 72 69 61 62 6c 65 20 3a 20 49 44 lerVariable : ID
6df0: 33 44 31 30 45 66 66 65 63 74 56 61 72 69 61 62 3D10EffectVariab
6e00: 6c 65 20 7b 0d 0a 2f 2a 20 54 4f 44 4f 3a 20 66 le {../* TODO: f
6e10: 69 78 20 76 74 62 6c 5b 30 5d 20 62 75 67 0d 0a ix vtbl[0] bug..
6e20: 09 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 .extern(Windows)
6e30: 20 3a 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 :...ID3D10Effec
6e40: 74 54 79 70 65 20 47 65 74 54 79 70 65 28 29 3b tType GetType();
6e50: 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 44 65 ...HRESULT GetDe
6e60: 73 63 28 44 33 44 31 30 5f 45 46 46 45 43 54 5f sc(D3D10_EFFECT_
6e70: 56 41 52 49 41 42 4c 45 5f 44 45 53 43 2a 20 70 VARIABLE_DESC* p
6e80: 44 65 73 63 29 3b 0d 0a 09 49 44 33 44 31 30 45 Desc);...ID3D10E
6e90: 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 47 65 ffectVariable Ge
6ea0: 74 41 6e 6e 6f 74 61 74 69 6f 6e 42 79 49 6e 64 tAnnotationByInd
6eb0: 65 78 28 55 49 4e 54 20 49 6e 64 65 78 29 3b 0d ex(UINT Index);.
6ec0: 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 56 61 ..ID3D10EffectVa
6ed0: 72 69 61 62 6c 65 20 47 65 74 41 6e 6e 6f 74 61 riable GetAnnota
6ee0: 74 69 6f 6e 42 79 4e 61 6d 65 28 4c 50 43 53 54 tionByName(LPCST
6ef0: 52 20 4e 61 6d 65 29 3b 0d 0a 09 49 44 33 44 31 R Name);...ID3D1
6f00: 30 45 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 0EffectVariable
6f10: 47 65 74 4d 65 6d 62 65 72 42 79 49 6e 64 65 78 GetMemberByIndex
6f20: 28 55 49 4e 54 20 49 6e 64 65 78 29 3b 0d 0a 09 (UINT Index);...
6f30: 49 44 33 44 31 30 45 66 66 65 63 74 56 61 72 69 ID3D10EffectVari
6f40: 61 62 6c 65 20 47 65 74 4d 65 6d 62 65 72 42 79 able GetMemberBy
6f50: 4e 61 6d 65 28 4c 50 43 53 54 52 20 4e 61 6d 65 Name(LPCSTR Name
6f60: 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 );...ID3D10Effec
6f70: 74 56 61 72 69 61 62 6c 65 20 47 65 74 4d 65 6d tVariable GetMem
6f80: 62 65 72 42 79 53 65 6d 61 6e 74 69 63 28 4c 50 berBySemantic(LP
6f90: 43 53 54 52 20 53 65 6d 61 6e 74 69 63 29 3b 0d CSTR Semantic);.
6fa0: 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 56 61 ..ID3D10EffectVa
6fb0: 72 69 61 62 6c 65 20 47 65 74 45 6c 65 6d 65 6e riable GetElemen
6fc0: 74 28 55 49 4e 54 20 49 6e 64 65 78 29 3b 0d 0a t(UINT Index);..
6fd0: 09 49 44 33 44 31 30 45 66 66 65 63 74 43 6f 6e .ID3D10EffectCon
6fe0: 73 74 61 6e 74 42 75 66 66 65 72 20 47 65 74 50 stantBuffer GetP
6ff0: 61 72 65 6e 74 43 6f 6e 73 74 61 6e 74 42 75 66 arentConstantBuf
7000: 66 65 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 fer();...ID3D10E
7010: 66 66 65 63 74 53 63 61 6c 61 72 56 61 72 69 61 ffectScalarVaria
7020: 62 6c 65 20 41 73 53 63 61 6c 61 72 28 29 3b 0d ble AsScalar();.
7030: 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 56 65 ..ID3D10EffectVe
7040: 63 74 6f 72 56 61 72 69 61 62 6c 65 20 41 73 56 ctorVariable AsV
7050: 65 63 74 6f 72 28 29 3b 0d 0a 09 49 44 33 44 31 ector();...ID3D1
7060: 30 45 66 66 65 63 74 4d 61 74 72 69 78 56 61 72 0EffectMatrixVar
7070: 69 61 62 6c 65 20 41 73 4d 61 74 72 69 78 28 29 iable AsMatrix()
7080: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
7090: 53 74 72 69 6e 67 56 61 72 69 61 62 6c 65 20 41 StringVariable A
70a0: 73 53 74 72 69 6e 67 28 29 3b 0d 0a 09 49 44 33 sString();...ID3
70b0: 44 31 30 45 66 66 65 63 74 53 68 61 64 65 72 52 D10EffectShaderR
70c0: 65 73 6f 75 72 63 65 56 61 72 69 61 62 6c 65 20 esourceVariable
70d0: 41 73 53 68 61 64 65 72 52 65 73 6f 75 72 63 65 AsShaderResource
70e0: 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 ();...ID3D10Effe
70f0: 63 74 52 65 6e 64 65 72 54 61 72 67 65 74 56 69 ctRenderTargetVi
7100: 65 77 56 61 72 69 61 62 6c 65 20 41 73 52 65 6e ewVariable AsRen
7110: 64 65 72 54 61 72 67 65 74 56 69 65 77 28 29 3b derTargetView();
7120: 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 44 ...ID3D10EffectD
7130: 65 70 74 68 53 74 65 6e 63 69 6c 56 69 65 77 56 epthStencilViewV
7140: 61 72 69 61 62 6c 65 20 41 73 44 65 70 74 68 53 ariable AsDepthS
7150: 74 65 6e 63 69 6c 56 69 65 77 28 29 3b 0d 0a 09 tencilView();...
7160: 49 44 33 44 31 30 45 66 66 65 63 74 43 6f 6e 73 ID3D10EffectCons
7170: 74 61 6e 74 42 75 66 66 65 72 20 41 73 43 6f 6e tantBuffer AsCon
7180: 73 74 61 6e 74 42 75 66 66 65 72 28 29 3b 0d 0a stantBuffer();..
7190: 09 49 44 33 44 31 30 45 66 66 65 63 74 53 68 61 .ID3D10EffectSha
71a0: 64 65 72 56 61 72 69 61 62 6c 65 20 41 73 53 68 derVariable AsSh
71b0: 61 64 65 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 ader();...ID3D10
71c0: 45 66 66 65 63 74 42 6c 65 6e 64 56 61 72 69 61 EffectBlendVaria
71d0: 62 6c 65 20 41 73 42 6c 65 6e 64 28 29 3b 0d 0a ble AsBlend();..
71e0: 09 49 44 33 44 31 30 45 66 66 65 63 74 44 65 70 .ID3D10EffectDep
71f0: 74 68 53 74 65 6e 63 69 6c 56 61 72 69 61 62 6c thStencilVariabl
7200: 65 20 41 73 44 65 70 74 68 53 74 65 6e 63 69 6c e AsDepthStencil
7210: 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 ();...ID3D10Effe
7220: 63 74 52 61 73 74 65 72 69 7a 65 72 56 61 72 69 ctRasterizerVari
7230: 61 62 6c 65 20 41 73 52 61 73 74 65 72 69 7a 65 able AsRasterize
7240: 72 28 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 r();...ID3D10Eff
7250: 65 63 74 53 61 6d 70 6c 65 72 56 61 72 69 61 62 ectSamplerVariab
7260: 6c 65 20 41 73 53 61 6d 70 6c 65 72 28 29 3b 0d le AsSampler();.
7270: 0a 09 48 52 45 53 55 4c 54 20 53 65 74 52 61 77 ..HRESULT SetRaw
7280: 56 61 6c 75 65 28 76 6f 69 64 2a 20 70 44 61 74 Value(void* pDat
7290: 61 2c 20 55 49 4e 54 20 4f 66 66 73 65 74 2c 20 a, UINT Offset,
72a0: 55 49 4e 54 20 43 6f 75 6e 74 29 3b 0d 0a 09 48 UINT Count);...H
72b0: 52 45 53 55 4c 54 20 47 65 74 52 61 77 56 61 6c RESULT GetRawVal
72c0: 75 65 28 76 6f 69 64 2a 20 70 44 61 74 61 2c 20 ue(void* pData,
72d0: 55 49 4e 54 20 4f 66 66 73 65 74 2c 20 55 49 4e UINT Offset, UIN
72e0: 54 20 43 6f 75 6e 74 29 3b 0d 0a 09 48 52 45 53 T Count);...HRES
72f0: 55 4c 54 20 47 65 74 53 61 6d 70 6c 65 72 28 55 ULT GetSampler(U
7300: 49 4e 54 20 49 6e 64 65 78 2c 20 49 44 33 44 31 INT Index, ID3D1
7310: 30 53 61 6d 70 6c 65 72 53 74 61 74 65 2a 20 70 0SamplerState* p
7320: 70 53 61 6d 70 6c 65 72 29 3b 0d 0a 09 48 52 45 pSampler);...HRE
7330: 53 55 4c 54 20 47 65 74 42 61 63 6b 69 6e 67 53 SULT GetBackingS
7340: 74 6f 72 65 28 55 49 4e 54 20 49 6e 64 65 78 2c tore(UINT Index,
7350: 20 44 33 44 31 30 5f 53 41 4d 50 4c 45 52 5f 44 D3D10_SAMPLER_D
7360: 45 53 43 2a 20 70 53 61 6d 70 6c 65 72 44 65 73 ESC* pSamplerDes
7370: 63 29 3b 0d 0a 09 2a 2f 0d 0a 7d 0d 0a 0d 0a 73 c);...*/..}....s
7380: 74 72 75 63 74 20 44 33 44 31 30 5f 50 41 53 53 truct D3D10_PASS
7390: 5f 44 45 53 43 20 7b 0d 0a 09 4c 50 43 53 54 52 _DESC {...LPCSTR
73a0: 09 09 4e 61 6d 65 3b 0d 0a 09 55 49 4e 54 09 09 ..Name;...UINT..
73b0: 41 6e 6e 6f 74 61 74 69 6f 6e 73 3b 0d 0a 09 42 Annotations;...B
73c0: 59 54 45 2a 09 09 70 49 41 49 6e 70 75 74 53 69 YTE*..pIAInputSi
73d0: 67 6e 61 74 75 72 65 3b 0d 0a 09 53 49 5a 45 5f gnature;...SIZE_
73e0: 54 09 09 49 41 49 6e 70 75 74 53 69 67 6e 61 74 T..IAInputSignat
73f0: 75 72 65 53 69 7a 65 3b 0d 0a 09 55 49 4e 54 09 ureSize;...UINT.
7400: 09 53 74 65 6e 63 69 6c 52 65 66 3b 0d 0a 09 55 .StencilRef;...U
7410: 49 4e 54 09 09 53 61 6d 70 6c 65 4d 61 73 6b 3b INT..SampleMask;
7420: 0d 0a 09 46 4c 4f 41 54 5b 34 5d 09 42 6c 65 6e ...FLOAT[4].Blen
7430: 64 46 61 63 74 6f 72 3b 0d 0a 7d 0d 0a 0d 0a 73 dFactor;..}....s
7440: 74 72 75 63 74 20 44 33 44 31 30 5f 50 41 53 53 truct D3D10_PASS
7450: 5f 53 48 41 44 45 52 5f 44 45 53 43 20 7b 0d 0a _SHADER_DESC {..
7460: 09 49 44 33 44 31 30 45 66 66 65 63 74 53 68 61 .ID3D10EffectSha
7470: 64 65 72 56 61 72 69 61 62 6c 65 09 70 53 68 61 derVariable.pSha
7480: 64 65 72 56 61 72 69 61 62 6c 65 3b 0d 0a 09 55 derVariable;...U
7490: 49 4e 54 09 09 09 09 09 09 53 68 61 64 65 72 49 INT......ShaderI
74a0: 6e 64 65 78 3b 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 ndex;..}....exte
74b0: 72 6e 20 28 43 29 20 63 6f 6e 73 74 20 47 55 49 rn (C) const GUI
74c0: 44 20 49 49 44 5f 49 44 33 44 31 30 45 66 66 65 D IID_ID3D10Effe
74d0: 63 74 50 61 73 73 20 3d 20 7b 30 78 35 63 66 62 ctPass = {0x5cfb
74e0: 65 62 38 39 2c 20 30 78 31 61 30 36 2c 20 30 78 eb89, 0x1a06, 0x
74f0: 34 36 65 30 2c 20 5b 30 78 62 32 2c 20 30 78 38 46e0, [0xb2, 0x8
7500: 32 2c 20 30 78 65 33 2c 20 30 78 66 39 2c 20 30 2, 0xe3, 0xf9, 0
7510: 78 62 66 2c 20 30 78 61 33 2c 20 30 78 36 61 2c xbf, 0xa3, 0x6a,
7520: 20 30 78 35 34 5d 7d 3b 0d 0a 0d 0a 2f 2b 69 6e 0x54]};..../+in
7530: 74 65 72 66 61 63 65 20 49 44 33 44 31 30 45 66 terface ID3D10Ef
7540: 66 65 63 74 50 61 73 73 20 7b 0d 0a 2f 2a 20 54 fectPass {../* T
7550: 4f 44 4f 3a 20 66 69 78 20 76 74 62 6c 5b 30 5d ODO: fix vtbl[0]
7560: 20 62 75 67 0d 0a 09 65 78 74 65 72 6e 28 57 69 bug...extern(Wi
7570: 6e 64 6f 77 73 29 20 3a 0d 0a 09 42 4f 4f 4c 20 ndows) :...BOOL
7580: 49 73 56 61 6c 69 64 28 29 3b 0d 0a 09 48 52 45 IsValid();...HRE
7590: 53 55 4c 54 20 47 65 74 44 65 73 63 28 44 33 44 SULT GetDesc(D3D
75a0: 31 30 5f 50 41 53 53 5f 44 45 53 43 2a 20 70 44 10_PASS_DESC* pD
75b0: 65 73 63 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 esc);...HRESULT
75c0: 47 65 74 56 65 72 74 65 78 53 68 61 64 65 72 44 GetVertexShaderD
75d0: 65 73 63 28 44 33 44 31 30 5f 50 41 53 53 5f 53 esc(D3D10_PASS_S
75e0: 48 41 44 45 52 5f 44 45 53 43 2a 20 70 44 65 73 HADER_DESC* pDes
75f0: 63 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 c);...HRESULT Ge
7600: 74 47 65 6f 6d 65 74 72 79 53 68 61 64 65 72 44 tGeometryShaderD
7610: 65 73 63 28 44 33 44 31 30 5f 50 41 53 53 5f 53 esc(D3D10_PASS_S
7620: 48 41 44 45 52 5f 44 45 53 43 2a 20 70 44 65 73 HADER_DESC* pDes
7630: 63 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 c);...HRESULT Ge
7640: 74 50 69 78 65 6c 53 68 61 64 65 72 44 65 73 63 tPixelShaderDesc
7650: 28 44 33 44 31 30 5f 50 41 53 53 5f 53 48 41 44 (D3D10_PASS_SHAD
7660: 45 52 5f 44 45 53 43 2a 20 70 44 65 73 63 29 3b ER_DESC* pDesc);
7670: 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 56 ...ID3D10EffectV
7680: 61 72 69 61 62 6c 65 20 47 65 74 41 6e 6e 6f 74 ariable GetAnnot
7690: 61 74 69 6f 6e 42 79 49 6e 64 65 78 28 55 49 4e ationByIndex(UIN
76a0: 54 20 49 6e 64 65 78 29 3b 0d 0a 09 49 44 33 44 T Index);...ID3D
76b0: 31 30 45 66 66 65 63 74 56 61 72 69 61 62 6c 65 10EffectVariable
76c0: 20 47 65 74 41 6e 6e 6f 74 61 74 69 6f 6e 42 79 GetAnnotationBy
76d0: 4e 61 6d 65 28 4c 50 43 53 54 52 20 4e 61 6d 65 Name(LPCSTR Name
76e0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 41 70 70 );...HRESULT App
76f0: 6c 79 28 55 49 4e 54 20 46 6c 61 67 73 29 3b 0d ly(UINT Flags);.
7700: 0a 09 48 52 45 53 55 4c 54 20 43 6f 6d 70 75 74 ..HRESULT Comput
7710: 65 53 74 61 74 65 42 6c 6f 63 6b 4d 61 73 6b 28 eStateBlockMask(
7720: 44 33 44 31 30 5f 53 54 41 54 45 5f 42 4c 4f 43 D3D10_STATE_BLOC
7730: 4b 5f 4d 41 53 4b 2a 20 70 53 74 61 74 65 42 6c K_MASK* pStateBl
7740: 6f 63 6b 4d 61 73 6b 29 3b 0d 0a 09 2a 2f 0d 0a ockMask);...*/..
7750: 7d 2b 2f 0d 0a 2f 2a 2a 0d 0a 20 2a 20 48 41 43 }+/../**.. * HAC
7760: 4b 20 74 6f 20 46 49 58 20 76 74 62 6c 5b 30 5d K to FIX vtbl[0]
7770: 20 62 75 67 3a 0d 0a 20 2a 20 54 68 69 73 20 69 bug:.. * This i
7780: 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 48 41 43 s an example HAC
7790: 4b 20 68 6f 77 20 74 6f 20 66 69 78 20 61 6c 6c K how to fix all
77a0: 20 69 6e 74 65 72 66 61 63 65 73 20 77 68 69 63 interfaces whic
77b0: 68 20 61 72 65 20 4e 4f 54 20 64 65 72 69 76 65 h are NOT derive
77c0: 64 20 66 72 6f 6d 0d 0a 20 2a 20 49 55 6e 6b 6e d from.. * IUnkn
77d0: 6f 77 6e 2e 20 54 68 65 79 20 6e 65 65 64 20 74 own. They need t
77e0: 68 65 20 66 69 72 73 74 20 65 6e 74 72 79 20 69 he first entry i
77f0: 6e 20 74 68 65 69 72 20 76 74 62 6c 5b 5d 20 70 n their vtbl[] p
7800: 6f 69 6e 74 20 74 6f 20 74 68 65 20 66 69 72 73 oint to the firs
7810: 74 0d 0a 20 2a 20 76 69 72 74 75 61 6c 20 66 75 t.. * virtual fu
7820: 6e 63 74 69 6f 6e 2e 0d 0a 20 2a 20 53 65 65 3a nction... * See:
7830: 0d 0a 20 2a 20 68 74 74 70 3a 2f 2f 77 77 77 2e .. * http://www.
7840: 64 69 67 69 74 61 6c 6d 61 72 73 2e 63 6f 6d 2f digitalmars.com/
7850: 64 2f 63 70 70 5f 69 6e 74 65 72 66 61 63 65 2e d/cpp_interface.
7860: 68 74 6d 6c 0d 0a 20 2a 20 68 74 74 70 3a 2f 2f html.. * http://
7870: 64 2e 70 75 72 65 6d 61 67 69 63 2e 63 6f 6d 2f d.puremagic.com/
7880: 69 73 73 75 65 73 2f 73 68 6f 77 5f 62 75 67 2e issues/show_bug.
7890: 63 67 69 3f 69 64 3d 31 36 38 37 0d 0a 20 2a 2f cgi?id=1687.. */
78a0: 0d 0a 73 74 72 75 63 74 20 49 44 33 44 31 30 45 ..struct ID3D10E
78b0: 66 66 65 63 74 50 61 73 73 56 74 62 6c 20 7b 20 ffectPassVtbl {
78c0: 0d 0a 09 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 ...extern(Window
78d0: 73 29 20 3a 0d 0a 09 42 4f 4f 4c 20 66 75 6e 63 s) :...BOOL func
78e0: 74 69 6f 6e 28 49 44 33 44 31 30 45 66 66 65 63 tion(ID3D10Effec
78f0: 74 50 61 73 73 29 20 49 73 56 61 6c 69 64 3b 0d tPass) IsValid;.
7900: 0a 09 48 52 45 53 55 4c 54 20 66 75 6e 63 74 69 ..HRESULT functi
7910: 6f 6e 28 49 44 33 44 31 30 45 66 66 65 63 74 50 on(ID3D10EffectP
7920: 61 73 73 2c 20 44 33 44 31 30 5f 50 41 53 53 5f ass, D3D10_PASS_
7930: 44 45 53 43 2a 20 70 44 65 73 63 29 20 47 65 74 DESC* pDesc) Get
7940: 44 65 73 63 3b 0d 0a 09 48 52 45 53 55 4c 54 20 Desc;...HRESULT
7950: 66 75 6e 63 74 69 6f 6e 28 49 44 33 44 31 30 45 function(ID3D10E
7960: 66 66 65 63 74 50 61 73 73 2c 20 44 33 44 31 30 ffectPass, D3D10
7970: 5f 50 41 53 53 5f 53 48 41 44 45 52 5f 44 45 53 _PASS_SHADER_DES
7980: 43 2a 20 70 44 65 73 63 29 20 47 65 74 56 65 72 C* pDesc) GetVer
7990: 74 65 78 53 68 61 64 65 72 44 65 73 63 3b 0d 0a texShaderDesc;..
79a0: 09 48 52 45 53 55 4c 54 20 66 75 6e 63 74 69 6f .HRESULT functio
79b0: 6e 28 49 44 33 44 31 30 45 66 66 65 63 74 50 61 n(ID3D10EffectPa
79c0: 73 73 2c 20 44 33 44 31 30 5f 50 41 53 53 5f 53 ss, D3D10_PASS_S
79d0: 48 41 44 45 52 5f 44 45 53 43 2a 20 70 44 65 73 HADER_DESC* pDes
79e0: 63 29 20 47 65 74 47 65 6f 6d 65 74 72 79 53 68 c) GetGeometrySh
79f0: 61 64 65 72 44 65 73 63 3b 0d 0a 09 48 52 45 53 aderDesc;...HRES
7a00: 55 4c 54 20 66 75 6e 63 74 69 6f 6e 28 49 44 33 ULT function(ID3
7a10: 44 31 30 45 66 66 65 63 74 50 61 73 73 2c 20 44 D10EffectPass, D
7a20: 33 44 31 30 5f 50 41 53 53 5f 53 48 41 44 45 52 3D10_PASS_SHADER
7a30: 5f 44 45 53 43 2a 20 70 44 65 73 63 29 20 47 65 _DESC* pDesc) Ge
7a40: 74 50 69 78 65 6c 53 68 61 64 65 72 44 65 73 63 tPixelShaderDesc
7a50: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
7a60: 56 61 72 69 61 62 6c 65 20 66 75 6e 63 74 69 6f Variable functio
7a70: 6e 28 49 44 33 44 31 30 45 66 66 65 63 74 50 61 n(ID3D10EffectPa
7a80: 73 73 2c 20 55 49 4e 54 20 49 6e 64 65 78 29 20 ss, UINT Index)
7a90: 47 65 74 41 6e 6e 6f 74 61 74 69 6f 6e 42 79 49 GetAnnotationByI
7aa0: 6e 64 65 78 3b 0d 0a 09 49 44 33 44 31 30 45 66 ndex;...ID3D10Ef
7ab0: 66 65 63 74 56 61 72 69 61 62 6c 65 20 66 75 6e fectVariable fun
7ac0: 63 74 69 6f 6e 28 49 44 33 44 31 30 45 66 66 65 ction(ID3D10Effe
7ad0: 63 74 50 61 73 73 2c 20 4c 50 43 53 54 52 20 4e ctPass, LPCSTR N
7ae0: 61 6d 65 29 20 47 65 74 41 6e 6e 6f 74 61 74 69 ame) GetAnnotati
7af0: 6f 6e 42 79 4e 61 6d 65 3b 0d 0a 09 48 52 45 53 onByName;...HRES
7b00: 55 4c 54 20 66 75 6e 63 74 69 6f 6e 28 49 44 33 ULT function(ID3
7b10: 44 31 30 45 66 66 65 63 74 50 61 73 73 2c 20 55 D10EffectPass, U
7b20: 49 4e 54 20 46 6c 61 67 73 29 20 41 70 70 6c 79 INT Flags) Apply
7b30: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 66 75 6e 63 ;...HRESULT func
7b40: 74 69 6f 6e 28 49 44 33 44 31 30 45 66 66 65 63 tion(ID3D10Effec
7b50: 74 50 61 73 73 2c 20 44 33 44 31 30 5f 53 54 41 tPass, D3D10_STA
7b60: 54 45 5f 42 4c 4f 43 4b 5f 4d 41 53 4b 2a 20 70 TE_BLOCK_MASK* p
7b70: 53 74 61 74 65 42 6c 6f 63 6b 4d 61 73 6b 29 20 StateBlockMask)
7b80: 43 6f 6d 70 75 74 65 53 74 61 74 65 42 6c 6f 63 ComputeStateBloc
7b90: 6b 4d 61 73 6b 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 kMask;..}..alias
7ba0: 20 49 44 33 44 31 30 45 66 66 65 63 74 50 61 73 ID3D10EffectPas
7bb0: 73 56 74 62 6c 2a 2a 20 49 44 33 44 31 30 45 66 sVtbl** ID3D10Ef
7bc0: 66 65 63 74 50 61 73 73 3b 0d 0a 0d 0a 73 74 72 fectPass;....str
7bd0: 75 63 74 20 44 33 44 31 30 5f 54 45 43 48 4e 49 uct D3D10_TECHNI
7be0: 51 55 45 5f 44 45 53 43 20 7b 0d 0a 09 4c 50 43 QUE_DESC {...LPC
7bf0: 53 54 52 09 4e 61 6d 65 3b 0d 0a 09 55 49 4e 54 STR.Name;...UINT
7c00: 09 50 61 73 73 65 73 3b 0d 0a 09 55 49 4e 54 09 .Passes;...UINT.
7c10: 41 6e 6e 6f 74 61 74 69 6f 6e 73 3b 0d 0a 7d 0d Annotations;..}.
7c20: 0a 0d 0a 65 78 74 65 72 6e 20 28 43 29 20 63 6f ...extern (C) co
7c30: 6e 73 74 20 47 55 49 44 20 49 49 44 5f 49 44 33 nst GUID IID_ID3
7c40: 44 31 30 45 66 66 65 63 74 54 65 63 68 6e 69 71 D10EffectTechniq
7c50: 75 65 20 3d 20 7b 30 78 64 62 31 32 32 63 65 38 ue = {0xdb122ce8
7c60: 2c 20 30 78 64 31 63 39 2c 20 30 78 34 32 39 32 , 0xd1c9, 0x4292
7c70: 2c 20 5b 30 78 62 32 2c 20 30 78 33 37 2c 20 30 , [0xb2, 0x37, 0
7c80: 78 32 34 2c 20 30 78 65 64 2c 20 30 78 33 64 2c x24, 0xed, 0x3d,
7c90: 20 30 78 65 38 2c 20 30 78 62 31 2c 20 30 78 37 0xe8, 0xb1, 0x7
7ca0: 35 5d 7d 3b 0d 0a 0d 0a 2f 2b 69 6e 74 65 72 66 5]};..../+interf
7cb0: 61 63 65 20 49 44 33 44 31 30 45 66 66 65 63 74 ace ID3D10Effect
7cc0: 54 65 63 68 6e 69 71 75 65 20 7b 0d 0a 2f 2a 20 Technique {../*
7cd0: 54 4f 44 4f 3a 20 66 69 78 20 76 74 62 6c 5b 30 TODO: fix vtbl[0
7ce0: 5d 20 62 75 67 0d 0a 09 65 78 74 65 72 6e 28 57 ] bug...extern(W
7cf0: 69 6e 64 6f 77 73 29 20 3a 0d 0a 09 42 4f 4f 4c indows) :...BOOL
7d00: 20 49 73 56 61 6c 69 64 28 29 3b 0d 0a 09 48 52 IsValid();...HR
7d10: 45 53 55 4c 54 20 47 65 74 44 65 73 63 28 44 33 ESULT GetDesc(D3
7d20: 44 31 30 5f 54 45 43 48 4e 49 51 55 45 5f 44 45 D10_TECHNIQUE_DE
7d30: 53 43 2a 20 70 44 65 73 63 29 3b 0d 0a 09 49 44 SC* pDesc);...ID
7d40: 33 44 31 30 45 66 66 65 63 74 56 61 72 69 61 62 3D10EffectVariab
7d50: 6c 65 20 47 65 74 41 6e 6e 6f 74 61 74 69 6f 6e le GetAnnotation
7d60: 42 79 49 6e 64 65 78 28 55 49 4e 54 20 49 6e 64 ByIndex(UINT Ind
7d70: 65 78 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 ex);...ID3D10Eff
7d80: 65 63 74 56 61 72 69 61 62 6c 65 20 47 65 74 41 ectVariable GetA
7d90: 6e 6e 6f 74 61 74 69 6f 6e 42 79 4e 61 6d 65 28 nnotationByName(
7da0: 4c 50 43 53 54 52 20 4e 61 6d 65 29 3b 0d 0a 09 LPCSTR Name);...
7db0: 49 44 33 44 31 30 45 66 66 65 63 74 50 61 73 73 ID3D10EffectPass
7dc0: 20 47 65 74 50 61 73 73 42 79 49 6e 64 65 78 28 GetPassByIndex(
7dd0: 55 49 4e 54 20 49 6e 64 65 78 29 3b 0d 0a 09 49 UINT Index);...I
7de0: 44 33 44 31 30 45 66 66 65 63 74 50 61 73 73 20 D3D10EffectPass
7df0: 47 65 74 50 61 73 73 42 79 4e 61 6d 65 28 4c 50 GetPassByName(LP
7e00: 43 53 54 52 20 4e 61 6d 65 29 3b 0d 0a 09 48 52 CSTR Name);...HR
7e10: 45 53 55 4c 54 20 43 6f 6d 70 75 74 65 53 74 61 ESULT ComputeSta
7e20: 74 65 42 6c 6f 63 6b 4d 61 73 6b 28 44 33 44 31 teBlockMask(D3D1
7e30: 30 5f 53 54 41 54 45 5f 42 4c 4f 43 4b 5f 4d 41 0_STATE_BLOCK_MA
7e40: 53 4b 2a 20 70 53 74 61 74 65 42 6c 6f 63 6b 4d SK* pStateBlockM
7e50: 61 73 6b 29 3b 0d 0a 09 2a 2f 0d 0a 7d 2b 2f 0d ask);...*/..}+/.
7e60: 0a 2f 2a 2a 0d 0a 20 2a 20 48 41 43 4b 20 74 6f ./**.. * HACK to
7e70: 20 46 49 58 20 76 74 62 6c 5b 30 5d 20 62 75 67 FIX vtbl[0] bug
7e80: 3a 0d 0a 20 2a 20 54 68 69 73 20 69 73 20 61 6e :.. * This is an
7e90: 20 65 78 61 6d 70 6c 65 20 48 41 43 4b 20 68 6f example HACK ho
7ea0: 77 20 74 6f 20 66 69 78 20 61 6c 6c 20 69 6e 74 w to fix all int
7eb0: 65 72 66 61 63 65 73 20 77 68 69 63 68 20 61 72 erfaces which ar
7ec0: 65 20 4e 4f 54 20 64 65 72 69 76 65 64 20 66 72 e NOT derived fr
7ed0: 6f 6d 0d 0a 20 2a 20 49 55 6e 6b 6e 6f 77 6e 2e om.. * IUnknown.
7ee0: 20 54 68 65 79 20 6e 65 65 64 20 74 68 65 20 66 They need the f
7ef0: 69 72 73 74 20 65 6e 74 72 79 20 69 6e 20 74 68 irst entry in th
7f00: 65 69 72 20 76 74 62 6c 5b 5d 20 70 6f 69 6e 74 eir vtbl[] point
7f10: 20 74 6f 20 74 68 65 20 66 69 72 73 74 0d 0a 20 to the first..
7f20: 2a 20 76 69 72 74 75 61 6c 20 66 75 6e 63 74 69 * virtual functi
7f30: 6f 6e 2e 0d 0a 20 2a 20 53 65 65 3a 0d 0a 20 2a on... * See:.. *
7f40: 20 68 74 74 70 3a 2f 2f 77 77 77 2e 64 69 67 69 http://www.digi
7f50: 74 61 6c 6d 61 72 73 2e 63 6f 6d 2f 64 2f 63 70 talmars.com/d/cp
7f60: 70 5f 69 6e 74 65 72 66 61 63 65 2e 68 74 6d 6c p_interface.html
7f70: 0d 0a 20 2a 20 68 74 74 70 3a 2f 2f 64 2e 70 75 .. * http://d.pu
7f80: 72 65 6d 61 67 69 63 2e 63 6f 6d 2f 69 73 73 75 remagic.com/issu
7f90: 65 73 2f 73 68 6f 77 5f 62 75 67 2e 63 67 69 3f es/show_bug.cgi?
7fa0: 69 64 3d 31 36 38 37 0d 0a 20 2a 2f 0d 0a 73 74 id=1687.. */..st
7fb0: 72 75 63 74 20 49 44 33 44 31 30 45 66 66 65 63 ruct ID3D10Effec
7fc0: 74 54 65 63 68 6e 69 71 75 65 56 74 62 6c 20 7b tTechniqueVtbl {
7fd0: 0d 0a 09 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 ...extern(Window
7fe0: 73 29 20 3a 0d 0a 09 42 4f 4f 4c 20 66 75 6e 63 s) :...BOOL func
7ff0: 74 69 6f 6e 28 49 44 33 44 31 30 45 66 66 65 63 tion(ID3D10Effec
8000: 74 54 65 63 68 6e 69 71 75 65 29 20 49 73 56 61 tTechnique) IsVa
8010: 6c 69 64 3b 0d 0a 09 48 52 45 53 55 4c 54 20 66 lid;...HRESULT f
8020: 75 6e 63 74 69 6f 6e 28 49 44 33 44 31 30 45 66 unction(ID3D10Ef
8030: 66 65 63 74 54 65 63 68 6e 69 71 75 65 2c 20 44 fectTechnique, D
8040: 33 44 31 30 5f 54 45 43 48 4e 49 51 55 45 5f 44 3D10_TECHNIQUE_D
8050: 45 53 43 2a 20 70 44 65 73 63 29 20 47 65 74 44 ESC* pDesc) GetD
8060: 65 73 63 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 esc;...ID3D10Eff
8070: 65 63 74 56 61 72 69 61 62 6c 65 20 66 75 6e 63 ectVariable func
8080: 74 69 6f 6e 28 49 44 33 44 31 30 45 66 66 65 63 tion(ID3D10Effec
8090: 74 54 65 63 68 6e 69 71 75 65 2c 20 55 49 4e 54 tTechnique, UINT
80a0: 20 49 6e 64 65 78 29 20 47 65 74 41 6e 6e 6f 74 Index) GetAnnot
80b0: 61 74 69 6f 6e 42 79 49 6e 64 65 78 3b 0d 0a 09 ationByIndex;...
80c0: 49 44 33 44 31 30 45 66 66 65 63 74 56 61 72 69 ID3D10EffectVari
80d0: 61 62 6c 65 20 66 75 6e 63 74 69 6f 6e 28 49 44 able function(ID
80e0: 33 44 31 30 45 66 66 65 63 74 54 65 63 68 6e 69 3D10EffectTechni
80f0: 71 75 65 2c 20 4c 50 43 53 54 52 20 4e 61 6d 65 que, LPCSTR Name
8100: 29 20 47 65 74 41 6e 6e 6f 74 61 74 69 6f 6e 42 ) GetAnnotationB
8110: 79 4e 61 6d 65 3b 0d 0a 09 49 44 33 44 31 30 45 yName;...ID3D10E
8120: 66 66 65 63 74 50 61 73 73 20 66 75 6e 63 74 69 ffectPass functi
8130: 6f 6e 28 49 44 33 44 31 30 45 66 66 65 63 74 54 on(ID3D10EffectT
8140: 65 63 68 6e 69 71 75 65 2c 20 55 49 4e 54 20 49 echnique, UINT I
8150: 6e 64 65 78 29 20 47 65 74 50 61 73 73 42 79 49 ndex) GetPassByI
8160: 6e 64 65 78 3b 0d 0a 09 49 44 33 44 31 30 45 66 ndex;...ID3D10Ef
8170: 66 65 63 74 50 61 73 73 20 66 75 6e 63 74 69 6f fectPass functio
8180: 6e 28 49 44 33 44 31 30 45 66 66 65 63 74 54 65 n(ID3D10EffectTe
8190: 63 68 6e 69 71 75 65 2c 20 4c 50 43 53 54 52 20 chnique, LPCSTR
81a0: 4e 61 6d 65 29 20 47 65 74 50 61 73 73 42 79 4e Name) GetPassByN
81b0: 61 6d 65 3b 0d 0a 09 48 52 45 53 55 4c 54 20 66 ame;...HRESULT f
81c0: 75 6e 63 74 69 6f 6e 28 49 44 33 44 31 30 45 66 unction(ID3D10Ef
81d0: 66 65 63 74 54 65 63 68 6e 69 71 75 65 2c 20 44 fectTechnique, D
81e0: 33 44 31 30 5f 53 54 41 54 45 5f 42 4c 4f 43 4b 3D10_STATE_BLOCK
81f0: 5f 4d 41 53 4b 2a 20 70 53 74 61 74 65 42 6c 6f _MASK* pStateBlo
8200: 63 6b 4d 61 73 6b 29 20 43 6f 6d 70 75 74 65 53 ckMask) ComputeS
8210: 74 61 74 65 42 6c 6f 63 6b 4d 61 73 6b 3b 0d 0a tateBlockMask;..
8220: 7d 0d 0a 61 6c 69 61 73 20 49 44 33 44 31 30 45 }..alias ID3D10E
8230: 66 66 65 63 74 54 65 63 68 6e 69 71 75 65 56 74 ffectTechniqueVt
8240: 62 6c 2a 2a 20 49 44 33 44 31 30 45 66 66 65 63 bl** ID3D10Effec
8250: 74 54 65 63 68 6e 69 71 75 65 3b 0d 0a 0d 0a 73 tTechnique;....s
8260: 74 72 75 63 74 20 44 33 44 31 30 5f 45 46 46 45 truct D3D10_EFFE
8270: 43 54 5f 44 45 53 43 20 7b 0d 0a 09 42 4f 4f 4c CT_DESC {...BOOL
8280: 09 49 73 43 68 69 6c 64 45 66 66 65 63 74 3b 0d .IsChildEffect;.
8290: 0a 09 55 49 4e 54 09 43 6f 6e 73 74 61 6e 74 42 ..UINT.ConstantB
82a0: 75 66 66 65 72 73 3b 0d 0a 09 55 49 4e 54 09 53 uffers;...UINT.S
82b0: 68 61 72 65 64 43 6f 6e 73 74 61 6e 74 42 75 66 haredConstantBuf
82c0: 66 65 72 73 3b 0d 0a 09 55 49 4e 54 09 47 6c 6f fers;...UINT.Glo
82d0: 62 61 6c 56 61 72 69 61 62 6c 65 73 3b 0d 0a 09 balVariables;...
82e0: 55 49 4e 54 09 53 68 61 72 65 64 47 6c 6f 62 61 UINT.SharedGloba
82f0: 6c 56 61 72 69 61 62 6c 65 73 3b 0d 0a 09 55 49 lVariables;...UI
8300: 4e 54 09 54 65 63 68 6e 69 71 75 65 73 3b 0d 0a NT.Techniques;..
8310: 7d 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 43 29 20 }....extern (C)
8320: 63 6f 6e 73 74 20 47 55 49 44 20 49 49 44 5f 49 const GUID IID_I
8330: 44 33 44 31 30 45 66 66 65 63 74 20 3d 20 7b 30 D3D10Effect = {0
8340: 78 35 31 62 30 63 61 38 62 2c 20 30 78 65 63 30 x51b0ca8b, 0xec0
8350: 62 2c 20 30 78 34 35 31 39 2c 20 5b 30 78 38 37 b, 0x4519, [0x87
8360: 2c 20 30 78 64 2c 20 30 78 38 65 2c 20 30 78 65 , 0xd, 0x8e, 0xe
8370: 31 2c 20 30 78 63 62 2c 20 30 78 35 30 2c 20 30 1, 0xcb, 0x50, 0
8380: 78 31 37 2c 20 30 78 63 37 5d 7d 3b 0d 0a 0d 0a x17, 0xc7]};....
8390: 69 6e 74 65 72 66 61 63 65 20 49 44 33 44 31 30 interface ID3D10
83a0: 45 66 66 65 63 74 20 3a 20 49 55 6e 6b 6e 6f 77 Effect : IUnknow
83b0: 6e 20 7b 0d 0a 09 65 78 74 65 72 6e 28 57 69 6e n {...extern(Win
83c0: 64 6f 77 73 29 20 3a 0d 0a 09 42 4f 4f 4c 20 49 dows) :...BOOL I
83d0: 73 56 61 6c 69 64 28 29 3b 0d 0a 09 42 4f 4f 4c sValid();...BOOL
83e0: 20 49 73 50 6f 6f 6c 28 29 3b 0d 0a 09 48 52 45 IsPool();...HRE
83f0: 53 55 4c 54 20 47 65 74 44 65 76 69 63 65 28 49 SULT GetDevice(I
8400: 44 33 44 31 30 44 65 76 69 63 65 2a 20 70 70 44 D3D10Device* ppD
8410: 65 76 69 63 65 29 3b 0d 0a 09 48 52 45 53 55 4c evice);...HRESUL
8420: 54 20 47 65 74 44 65 73 63 28 44 33 44 31 30 5f T GetDesc(D3D10_
8430: 45 46 46 45 43 54 5f 44 45 53 43 2a 20 70 44 65 EFFECT_DESC* pDe
8440: 73 63 29 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 sc);...ID3D10Eff
8450: 65 63 74 43 6f 6e 73 74 61 6e 74 42 75 66 66 65 ectConstantBuffe
8460: 72 20 47 65 74 43 6f 6e 73 74 61 6e 74 42 75 66 r GetConstantBuf
8470: 66 65 72 42 79 49 6e 64 65 78 28 55 49 4e 54 20 ferByIndex(UINT
8480: 49 6e 64 65 78 29 3b 0d 0a 09 49 44 33 44 31 30 Index);...ID3D10
8490: 45 66 66 65 63 74 43 6f 6e 73 74 61 6e 74 42 75 EffectConstantBu
84a0: 66 66 65 72 20 47 65 74 43 6f 6e 73 74 61 6e 74 ffer GetConstant
84b0: 42 75 66 66 65 72 42 79 4e 61 6d 65 28 4c 50 43 BufferByName(LPC
84c0: 53 54 52 20 4e 61 6d 65 29 3b 0d 0a 09 49 44 33 STR Name);...ID3
84d0: 44 31 30 45 66 66 65 63 74 56 61 72 69 61 62 6c D10EffectVariabl
84e0: 65 20 47 65 74 56 61 72 69 61 62 6c 65 42 79 49 e GetVariableByI
84f0: 6e 64 65 78 28 55 49 4e 54 20 49 6e 64 65 78 29 ndex(UINT Index)
8500: 3b 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 ;...ID3D10Effect
8510: 56 61 72 69 61 62 6c 65 20 47 65 74 56 61 72 69 Variable GetVari
8520: 61 62 6c 65 42 79 4e 61 6d 65 28 4c 50 43 53 54 ableByName(LPCST
8530: 52 20 4e 61 6d 65 29 3b 0d 0a 09 49 44 33 44 31 R Name);...ID3D1
8540: 30 45 66 66 65 63 74 56 61 72 69 61 62 6c 65 20 0EffectVariable
8550: 47 65 74 56 61 72 69 61 62 6c 65 42 79 53 65 6d GetVariableBySem
8560: 61 6e 74 69 63 28 4c 50 43 53 54 52 20 53 65 6d antic(LPCSTR Sem
8570: 61 6e 74 69 63 29 3b 0d 0a 09 49 44 33 44 31 30 antic);...ID3D10
8580: 45 66 66 65 63 74 54 65 63 68 6e 69 71 75 65 20 EffectTechnique
8590: 47 65 74 54 65 63 68 6e 69 71 75 65 42 79 49 6e GetTechniqueByIn
85a0: 64 65 78 28 55 49 4e 54 20 49 6e 64 65 78 29 3b dex(UINT Index);
85b0: 0d 0a 09 49 44 33 44 31 30 45 66 66 65 63 74 54 ...ID3D10EffectT
85c0: 65 63 68 6e 69 71 75 65 20 47 65 74 54 65 63 68 echnique GetTech
85d0: 6e 69 71 75 65 42 79 4e 61 6d 65 28 4c 50 43 53 niqueByName(LPCS
85e0: 54 52 20 4e 61 6d 65 29 3b 0d 0a 09 48 52 45 53 TR Name);...HRES
85f0: 55 4c 54 20 4f 70 74 69 6d 69 7a 65 28 29 3b 0d ULT Optimize();.
8600: 0a 09 42 4f 4f 4c 20 49 73 4f 70 74 69 6d 69 7a ..BOOL IsOptimiz
8610: 65 64 28 29 3b 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 ed();..}....exte
8620: 72 6e 20 28 43 29 20 63 6f 6e 73 74 20 47 55 49 rn (C) const GUI
8630: 44 20 49 49 44 5f 49 44 33 44 31 30 45 66 66 65 D IID_ID3D10Effe
8640: 63 74 50 6f 6f 6c 20 3d 20 7b 30 78 39 35 33 37 ctPool = {0x9537
8650: 61 62 30 34 2c 20 30 78 33 32 35 30 2c 20 30 78 ab04, 0x3250, 0x
8660: 34 31 32 65 2c 20 5b 30 78 38 32 2c 20 30 78 31 412e, [0x82, 0x1
8670: 33 2c 20 30 78 66 63 2c 20 30 78 64 32 2c 20 30 3, 0xfc, 0xd2, 0
8680: 78 66 38 2c 20 30 78 36 37 2c 20 30 78 37 39 2c xf8, 0x67, 0x79,
8690: 20 30 78 33 33 5d 7d 3b 0d 0a 0d 0a 69 6e 74 65 0x33]};....inte
86a0: 72 66 61 63 65 20 49 44 33 44 31 30 45 66 66 65 rface ID3D10Effe
86b0: 63 74 50 6f 6f 6c 20 3a 20 49 55 6e 6b 6e 6f 77 ctPool : IUnknow
86c0: 6e 20 7b 0d 0a 09 65 78 74 65 72 6e 28 57 69 6e n {...extern(Win
86d0: 64 6f 77 73 29 20 3a 0d 0a 09 49 44 33 44 31 30 dows) :...ID3D10
86e0: 45 66 66 65 63 74 20 41 73 45 66 66 65 63 74 28 Effect AsEffect(
86f0: 29 3b 0d 0a 7d 0d 0a 0d 0a 48 52 45 53 55 4c 54 );..}....HRESULT
8700: 20 44 33 44 31 30 43 6f 6d 70 69 6c 65 45 66 66 D3D10CompileEff
8710: 65 63 74 46 72 6f 6d 4d 65 6d 6f 72 79 28 76 6f ectFromMemory(vo
8720: 69 64 2a 20 70 44 61 74 61 2c 20 53 49 5a 45 5f id* pData, SIZE_
8730: 54 20 44 61 74 61 4c 65 6e 67 74 68 2c 20 4c 50 T DataLength, LP
8740: 43 53 54 52 20 70 53 72 63 46 69 6c 65 4e 61 6d CSTR pSrcFileNam
8750: 65 2c 20 44 33 44 31 30 5f 53 48 41 44 45 52 5f e, D3D10_SHADER_
8760: 4d 41 43 52 4f 2a 20 70 44 65 66 69 6e 65 73 2c MACRO* pDefines,
8770: 20 49 44 33 44 31 30 49 6e 63 6c 75 64 65 20 70 ID3D10Include p
8780: 49 6e 63 6c 75 64 65 2c 20 55 49 4e 54 20 48 4c Include, UINT HL
8790: 53 4c 46 6c 61 67 73 2c 20 55 49 4e 54 20 46 58 SLFlags, UINT FX
87a0: 46 6c 61 67 73 2c 20 49 44 33 44 31 30 42 6c 6f Flags, ID3D10Blo
87b0: 62 2a 20 70 70 43 6f 6d 70 69 6c 65 64 45 66 66 b* ppCompiledEff
87c0: 65 63 74 2c 20 49 44 33 44 31 30 42 6c 6f 62 2a ect, ID3D10Blob*
87d0: 20 70 70 45 72 72 6f 72 73 29 3b 0d 0a 48 52 45 ppErrors);..HRE
87e0: 53 55 4c 54 20 44 33 44 31 30 43 72 65 61 74 65 SULT D3D10Create
87f0: 45 66 66 65 63 74 46 72 6f 6d 4d 65 6d 6f 72 79 EffectFromMemory
8800: 28 76 6f 69 64 2a 20 70 44 61 74 61 2c 20 53 49 (void* pData, SI
8810: 5a 45 5f 54 20 44 61 74 61 4c 65 6e 67 74 68 2c ZE_T DataLength,
8820: 20 55 49 4e 54 20 46 58 46 6c 61 67 73 2c 20 49 UINT FXFlags, I
8830: 44 33 44 31 30 44 65 76 69 63 65 20 70 44 65 76 D3D10Device pDev
8840: 69 63 65 2c 20 49 44 33 44 31 30 45 66 66 65 63 ice, ID3D10Effec
8850: 74 50 6f 6f 6c 20 70 45 66 66 65 63 74 50 6f 6f tPool pEffectPoo
8860: 6c 2c 20 49 44 33 44 31 30 45 66 66 65 63 74 2a l, ID3D10Effect*
8870: 20 70 70 45 66 66 65 63 74 29 3b 0d 0a 48 52 45 ppEffect);..HRE
8880: 53 55 4c 54 20 44 33 44 31 30 43 72 65 61 74 65 SULT D3D10Create
8890: 45 66 66 65 63 74 50 6f 6f 6c 46 72 6f 6d 4d 65 EffectPoolFromMe
88a0: 6d 6f 72 79 28 76 6f 69 64 2a 20 70 44 61 74 61 mory(void* pData
88b0: 2c 20 53 49 5a 45 5f 54 20 44 61 74 61 4c 65 6e , SIZE_T DataLen
88c0: 67 74 68 2c 20 55 49 4e 54 20 46 58 46 6c 61 67 gth, UINT FXFlag
88d0: 73 2c 20 49 44 33 44 31 30 44 65 76 69 63 65 20 s, ID3D10Device
88e0: 70 44 65 76 69 63 65 2c 20 49 44 33 44 31 30 45 pDevice, ID3D10E
88f0: 66 66 65 63 74 50 6f 6f 6c 2a 20 70 70 45 66 66 ffectPool* ppEff
8900: 65 63 74 50 6f 6f 6c 29 3b 0d 0a 48 52 45 53 55 ectPool);..HRESU
8910: 4c 54 20 44 33 44 31 30 44 69 73 61 73 73 65 6d LT D3D10Disassem
8920: 62 6c 65 45 66 66 65 63 74 28 49 44 33 44 31 30 bleEffect(ID3D10
8930: 45 66 66 65 63 74 20 70 45 66 66 65 63 74 2c 20 Effect pEffect,
8940: 42 4f 4f 4c 20 45 6e 61 62 6c 65 43 6f 6c 6f 72 BOOL EnableColor
8950: 43 6f 64 65 2c 20 49 44 33 44 31 30 42 6c 6f 62 Code, ID3D10Blob
8960: 2a 20 70 70 44 69 73 61 73 73 65 6d 62 6c 79 29 * ppDisassembly)
8970: 3b 0d 0a ;..