Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Pasaje del cbuffer -> UBO (Faltan los 2 boleanos por uqe no sabia como era)
- cbuffer Parameters
- {
- bool hasPosMtxIdx;
- bool lightingEnabled;
- int g_aTexGenSourceRow[8];
- int g_aTexGenSourceRowInRow[8];
- int g_aTexGenType[8];
- int g_TexGenDualTexTrans[8];
- int g_aTexGenEmbossSourceShifts[8];
- int g_aTexGenEmbossLightShifts[8];
- int g_aTexGenPostIdx0[8];
- int g_aTexGenPostIdx1[8];
- int g_aTexGenPostIdx2[8];
- int g_aColorChan0[3];
- int g_aColorChan1[3];
- int g_aColorChansLightxyz0[8];
- int g_aColorChansLightxyz1[8];
- int g_aColorChansLightw0[8];
- int g_aColorChansLightw1[8];
- int g_aColorChansLightDiffusexyz0[8];
- int g_aColorChansLightDiffusexyz1[8];
- int g_aColorChansLightDiffusew0[8];
- int g_aColorChansLightDiffusew1[8];
- };
- */
- // SHADERGEN.H
- // shader variables
- #define I_POSNORMALMATRIX "cpnmtx"
- #define I_PROJECTION "cproj"
- #define I_MATERIALS "cmtrl"
- #define I_LIGHTS "clights"
- #define I_TEXMATRICES "ctexmtx"
- #define I_TRANSFORMMATRICES "ctrmtx"
- #define I_NORMALMATRICES "cnmtx"
- #define I_POSTTRANSFORMMATRICES "cpostmtx"
- #define I_DEPTHPARAMS "cDepth" // farZ, zRange, scaled viewport width, scaled viewport height
- #define I_PLOFFSETPARAMS "cPLOffset" // line/point offset for correct emulation
- // New Constants
- #define I_TEXGENSOURCEROW "g_aTexGenSourceRow"
- #define I_TEXGENSOURCEROWINROW "g_aTexGenSourceRowInRow"
- #define I_TEXGENTYPE "g_aTexGenType"
- #define I_TEXGENDUALTEXTRANS "g_TexGenDualTexTrans"
- #define I_TEXGENEMBOSSSOURCESHIFTS "g_aTexGenEmbossSourceShifts"
- #define I_TEXGENEMBOSSLIGHTSHIFTS "g_aTexGenEmbossLightShifts"
- #define I_TEXGENPOSTIDX0 "g_aTexGenPostIdx0"
- #define I_TEXGENPOSTIDX1 "g_aTexGenPostIdx1"
- #define I_TEXGENPOSTIDX2 "g_aTexGenPostIdx2"
- #define I_COLORCHAN0 "g_aColorChan0"
- #define I_COLORCHAN1 "g_aColorChan1"
- #define I_COLORCHANSLIGHTXYZ0 "g_aColorChansLightxyz0"
- #define I_COLORCHANSLIGHTXYZ1 "g_aColorChansLightxyz1"
- #define I_COLORCHANSLIGHTW0 "g_aColorChansLightw0"
- #define I_COLORCHANSLIGHTW1 "g_aColorChansLightw1"
- #define I_COLORCHANSLIGHTDIFFUSEXYZ0 "g_aColorChansLightDiffusexyz0"
- #define I_COLORCHANSLIGHTDIFFUSEXYZ1 "g_aColorChansLightDiffusexyz1"
- #define I_COLORCHANSLIGHTDIFFUSEW0 "g_aColorChansLightDiffusew0"
- #define I_COLORCHANSLIGHTDIFFUSEW1 "g_aColorChansLightDiffusew1"
- #define C_POSNORMALMATRIX 0
- #define C_PROJECTION (C_POSNORMALMATRIX + 6)
- #define C_MATERIALS (C_PROJECTION + 4)
- #define C_LIGHTS (C_MATERIALS + 4)
- #define C_TEXMATRICES (C_LIGHTS + 40)
- #define C_TRANSFORMMATRICES (C_TEXMATRICES + 24)
- #define C_NORMALMATRICES (C_TRANSFORMMATRICES + 64)
- #define C_POSTTRANSFORMMATRICES (C_NORMALMATRICES + 32)
- #define C_DEPTHPARAMS (C_POSTTRANSFORMMATRICES + 64)
- #define C_PLOFFSETPARAMS (C_DEPTHPARAMS + 1)
- // New Constants
- #define C_TEXGENSOURCEROW (C_PLOFFSETPARAMS + 13)
- #define C_TEXGENSOURCEROWINROW (C_TEXGENSOURCEROW + 8)
- #define C_TEXGENTYPE (C_TEXGENSOURCEROWINROW + 8)
- #define C_TEXGENDUALTEXTRANS (C_TEXGENTYPE + 8)
- #define C_TEXGENEMBOSSSOURCESHIFTS (C_TEXGENDUALTEXTRANS + 8)
- #define C_TEXGENEMBOSSLIGHTSHIFTS (C_TEXGENEMBOSSSOURCESHIFTS + 8)
- #define C_TEXGENPOSTIDX0 (C_TEXGENEMBOSSLIGHTSHIFTS + 8)
- #define C_TEXGENPOSTIDX1 (C_TEXGENPOSTIDX0 + 8)
- #define C_TEXGENPOSTIDX2 (C_TEXGENPOSTIDX1 + 8)
- #define C_COLORCHAN0 (C_TEXGENPOSTIDX2 + 8)
- #define C_COLORCHAN1 (C_COLORCHAN0 + 3)
- #define C_COLORCHANSLIGHTXYZ0 (C_COLORCHAN1 + 3)
- #define C_COLORCHANSLIGHTXYZ1 (C_COLORCHANSLIGHTXYZ0 + 8)
- #define C_COLORCHANSLIGHTW0 (C_COLORCHANSLIGHTXYZ1 + 8)
- #define C_COLORCHANSLIGHTW1 (C_COLORCHANSLIGHTW0 + 8)
- #define C_COLORCHANSLIGHTDIFFUSEXYZ0 (C_COLORCHANSLIGHTW1 + 8)
- #define C_COLORCHANSLIGHTDIFFUSEXYZ1 (C_COLORCHANSLIGHTDIFFUSEXYZ0 + 8)
- #define C_COLORCHANSLIGHTDIFFUSEW0 (C_COLORCHANSLIGHTDIFFUSEXYZ1 + 8)
- #define C_COLORCHANSLIGHTDIFFUSEW1 (C_COLORCHANSLIGHTDIFFUSEW0 + 8)
- #define C_VENVCONST_END (C_COLORCHANSLIGHTDIFFUSEW1 + 8)
- const s_svar VSVar_Loc[] = { { I_POSNORMALMATRIX, C_POSNORMALMATRIX, 6 },
- { I_PROJECTION, C_PROJECTION, 4 },
- { I_MATERIALS, C_MATERIALS, 4 },
- { I_LIGHTS, C_LIGHTS, 40 },
- { I_TEXMATRICES, C_TEXMATRICES, 24 },
- { I_TRANSFORMMATRICES, C_TRANSFORMMATRICES, 64 },
- { I_NORMALMATRICES, C_NORMALMATRICES, 32 },
- { I_POSTTRANSFORMMATRICES, C_POSTTRANSFORMMATRICES, 64 },
- { I_DEPTHPARAMS, C_DEPTHPARAMS, 1 },
- { I_PLOFFSETPARAMS, C_PLOFFSETPARAMS, 13 },
- // New Constants
- { I_TEXGENSOURCEROW, C_TEXGENSOURCEROW, 8 },
- { I_TEXGENSOURCEROWINROW, C_TEXGENSOURCEROWINROW, 8 },
- { I_TEXGENTYPE, C_TEXGENTYPE, 8 },
- { I_TEXGENEMBOSSSOURCESHIFTS, C_TEXGENEMBOSSSOURCESHIFTS, 8 },
- { I_TEXGENEMBOSSLIGHTSHIFTS, C_TEXGENEMBOSSLIGHTSHIFTS, 8 },
- { I_TEXGENPOSTIDX0, C_TEXGENPOSTIDX0, 8 },
- { I_TEXGENPOSTIDX1, C_TEXGENPOSTIDX1, 8 },
- { I_TEXGENPOSTIDX2, C_TEXGENPOSTIDX2, 8 },
- { I_COLORCHAN0, C_COLORCHAN0, 3 },
- { I_COLORCHAN1, C_COLORCHAN1, 3 },
- { I_COLORCHANSLIGHTXYZ0, C_COLORCHANSLIGHTXYZ0, 8 },
- { I_COLORCHANSLIGHTXYZ1, C_COLORCHANSLIGHTXYZ1, 8 },
- { I_COLORCHANSLIGHTW0, C_COLORCHANSLIGHTW0, 8 },
- { I_COLORCHANSLIGHTW1, C_COLORCHANSLIGHTW1, 8 },
- { I_COLORCHANSLIGHTDIFFUSEXYZ0, C_COLORCHANSLIGHTDIFFUSEXYZ0, 8 },
- { I_COLORCHANSLIGHTDIFFUSEXYZ1, C_COLORCHANSLIGHTDIFFUSEXYZ1, 8 },
- { I_COLORCHANSLIGHTDIFFUSEW0, C_COLORCHANSLIGHTDIFFUSEW0, 8 },
- { I_COLORCHANSLIGHTDIFFUSEW1, C_COLORCHANSLIGHTDIFFUSEW1, 8 },
- };
- #pragma pack(1)
- // SHADERGEN.CPP
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_POSNORMALMATRIX, "float4", I_POSNORMALMATRIX"[6]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_PROJECTION, "float4", I_PROJECTION"[4]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_MATERIALS, "float4", I_MATERIALS"[4]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_LIGHTS, "float4", I_LIGHTS"[40]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_TEXMATRICES, "float4", I_TEXMATRICES"[24]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_TRANSFORMMATRICES, "float4", I_TRANSFORMMATRICES"[64]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_NORMALMATRICES, "float4", I_NORMALMATRICES"[32]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_POSTTRANSFORMMATRICES, "float4", I_POSTTRANSFORMMATRICES"[64]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_DEPTHPARAMS, "float4", I_DEPTHPARAMS);
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_PLOFFSETPARAMS, "float4", I_PLOFFSETPARAMS"[13]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_TEXGENSOURCEROW, "int", I_TEXGENSOURCEROW"[8]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_TEXGENSOURCEROWINROW, "int", I_TEXGENSOURCEROWINROW"[8]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_TEXGENTYPE, "int", I_TEXGENTYPE"[8]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_TEXGENDUALTEXTRANS, "int", I_TEXGENDUALTEXTRANS"[8]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_TEXGENEMBOSSSOURCESHIFTS, "int", I_TEXGENEMBOSSSOURCESHIFTS"[8]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_TEXGENEMBOSSLIGHTSHIFTS, "int", I_TEXGENEMBOSSLIGHTSHIFTS"[8]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_TEXGENPOSTIDX0, "int", I_TEXGENPOSTIDX0"[8]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_TEXGENPOSTIDX1, "int", I_TEXGENPOSTIDX1"[8]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_TEXGENPOSTIDX2, "int", I_TEXGENPOSTIDX2"[8]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_COLORCHAN0, "int", I_COLORCHAN0"[3]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_COLORCHAN1, "int", I_COLORCHAN1"[3]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_COLORCHANSLIGHTXYZ0, "int", I_COLORCHANSLIGHTXYZ0"[8]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_COLORCHANSLIGHTXYZ1, "int", I_COLORCHANSLIGHTXYZ1"[8]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_COLORCHANSLIGHTW0, "int", I_COLORCHANSLIGHTW0"[8]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_COLORCHANSLIGHTW1, "int", I_COLORCHANSLIGHTW1"[8]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_COLORCHANSLIGHTDIFFUSEXYZ0, "int", I_COLORCHANSLIGHTDIFFUSEXYZ0"[8]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_COLORCHANSLIGHTDIFFUSEXYZ1, "int", I_COLORCHANSLIGHTDIFFUSEXYZ1"[8]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_COLORCHANSLIGHTDIFFUSEW0, "int", I_COLORCHANSLIGHTDIFFUSEW0"[8]");
- DeclareUniform<T, api_type>(out, g_ActiveConfig.backend_info.bSupportsGLSLUBO, C_COLORCHANSLIGHTDIFFUSEW1, "int", I_COLORCHANSLIGHTDIFFUSEW1"[8]");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement