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 ;..