MCPcopy Create free account
hub / github.com/TheForceEngine/TheForceEngine / buildShaders

Method buildShaders

TheForceEngine/TFE_PostProcess/blit.cpp:25–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23}
24
25bool Blit::buildShaders()
26{
27 // Base shader.
28 m_featureShaders[0].load("Shaders/blit.vert", "Shaders/blit.frag");
29 m_featureShaders[0].bindTextureNameToSlot("VirtualDisplay", 0);
30
31 ShaderDefine defines[BLIT_FEATURE_COUNT];
32 // BLIT_GPU_COLOR_CONVERSION feature
33 defines[0] = { "ENABLE_GPU_COLOR_CONVERSION", "1" };
34 m_featureShaders[1].load("Shaders/blit.vert", "Shaders/blit.frag", 1, defines);
35 m_featureShaders[1].bindTextureNameToSlot("VirtualDisplay", 0);
36 m_featureShaders[1].bindTextureNameToSlot("Palette", 1);
37
38 // BLIT_GPU_COLOR_CORRECTION feature
39 defines[0] = { "ENABLE_GPU_COLOR_CORRECTION", "1" };
40 m_featureShaders[2].load("Shaders/blit.vert", "Shaders/blit.frag", 1, defines);
41 m_featureShaders[2].bindTextureNameToSlot("VirtualDisplay", 0);
42
43 // BLIT_GPU_COLOR_CONVERSION + BLIT_GPU_COLOR_CORRECTION features
44 defines[0] = { "ENABLE_GPU_COLOR_CONVERSION", "1" };
45 defines[1] = { "ENABLE_GPU_COLOR_CORRECTION", "1" };
46 m_featureShaders[3].load("Shaders/blit.vert", "Shaders/blit.frag", 2, defines);
47 m_featureShaders[3].bindTextureNameToSlot("VirtualDisplay", 0);
48 m_featureShaders[3].bindTextureNameToSlot("Palette", 1);
49
50
51 // BLIT_BLOOM feature
52 defines[0] = { "ENABLE_BLOOM", "1" };
53 m_featureShaders[4].load("Shaders/blit.vert", "Shaders/blit.frag", 1, defines);
54 m_featureShaders[4].bindTextureNameToSlot("VirtualDisplay", 0);
55 m_featureShaders[4].bindTextureNameToSlot("Bloom", 1);
56
57 // BLIT_BLOOM + BLIT_GPU_COLOR_CORRECTION feature
58 defines[0] = { "ENABLE_BLOOM", "1" };
59 defines[1] = { "ENABLE_GPU_COLOR_CORRECTION", "1" };
60 m_featureShaders[5].load("Shaders/blit.vert", "Shaders/blit.frag", 2, defines);
61 m_featureShaders[5].bindTextureNameToSlot("VirtualDisplay", 0);
62 m_featureShaders[5].bindTextureNameToSlot("Bloom", 1);
63
64 return true;
65}
66
67void Blit::setEffectState()
68{

Callers

nothing calls this directly

Calls 2

bindTextureNameToSlotMethod · 0.80
loadMethod · 0.45

Tested by

no test coverage detected