Removed now unnecessary parameter for assignSamplerNames.
This commit is contained in:
parent
e0ef910137
commit
1a09a09dd9
@ -37,7 +37,7 @@ public:
|
||||
loadProgram(OBJECT, GL_VERTEX_SHADER, "primitive2dlist.vert",
|
||||
GL_FRAGMENT_SHADER, "transparent.frag");
|
||||
assignUniforms();
|
||||
assignSamplerNames(m_program, 0, "tex", ST_BILINEAR_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_BILINEAR_FILTERED);
|
||||
} // Primitive2DList
|
||||
}; //Primitive2DList
|
||||
|
||||
@ -55,7 +55,7 @@ public:
|
||||
|
||||
assignUniforms("center", "size", "texcenter", "texsize", "color");
|
||||
|
||||
assignSamplerNames(m_program, 0, "tex", ST_BILINEAR_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_BILINEAR_FILTERED);
|
||||
} // UniformColoredTextureRectShader
|
||||
}; // UniformColoredTextureRectShader
|
||||
|
||||
@ -71,7 +71,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "texturedquad.frag");
|
||||
assignUniforms("center", "size", "texcenter", "texsize");
|
||||
|
||||
assignSamplerNames(m_program, 0, "tex", ST_BILINEAR_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_BILINEAR_FILTERED);
|
||||
} // TextureRectShader
|
||||
}; // TextureRectShader
|
||||
|
||||
@ -133,7 +133,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "colortexturedquad.frag");
|
||||
assignUniforms("center", "size", "texcenter", "texsize");
|
||||
|
||||
assignSamplerNames(m_program, 0, "tex", ST_BILINEAR_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_BILINEAR_FILTERED);
|
||||
|
||||
glGenVertexArrays(1, &m_vao);
|
||||
glBindVertexArray(m_vao);
|
||||
|
@ -37,7 +37,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "importance_sampling_specular.frag");
|
||||
assignUniforms("PermutationMatrix", "ViewportSize");
|
||||
m_tu_samples = 1;
|
||||
assignSamplerNames(m_program, 0, "tex", ST_TRILINEAR_CUBEMAP);
|
||||
assignSamplerNames(0, "tex", ST_TRILINEAR_CUBEMAP);
|
||||
assignTextureUnit(m_tu_samples, "samples");
|
||||
}
|
||||
|
||||
|
@ -66,8 +66,8 @@ public:
|
||||
GL_FRAGMENT_SHADER, "particle.frag");
|
||||
|
||||
assignUniforms("color_from", "color_to");
|
||||
assignSamplerNames(m_program, 0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED);
|
||||
} // SimpleParticleRender
|
||||
|
||||
}; // SimpleParticleRender
|
||||
@ -84,8 +84,8 @@ public:
|
||||
GL_FRAGMENT_SHADER, "utils/getPosFromUVDepth.frag",
|
||||
GL_FRAGMENT_SHADER, "particle.frag");
|
||||
assignUniforms();
|
||||
assignSamplerNames(m_program, 0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED);
|
||||
}
|
||||
|
||||
}; // FlipParticleShader
|
||||
|
@ -53,7 +53,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "gaussian3h.frag");
|
||||
assignUniforms("pixel");
|
||||
|
||||
assignSamplerNames(m_program, 0, "tex", ST_BILINEAR_CLAMPED_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_BILINEAR_CLAMPED_FILTERED);
|
||||
} // Gaussian3HBlurShader
|
||||
}; // Gaussian3HBlurShader
|
||||
|
||||
@ -69,7 +69,7 @@ public:
|
||||
loadProgram(OBJECT, GL_COMPUTE_SHADER, "blurshadowV.comp");
|
||||
m_dest_tu = 1;
|
||||
assignUniforms("pixel", "weights");
|
||||
assignSamplerNames(m_program, 0, "source", ST_NEARED_CLAMPED_FILTERED);
|
||||
assignSamplerNames(0, "source", ST_NEARED_CLAMPED_FILTERED);
|
||||
assignTextureUnit(m_dest_tu, "dest");
|
||||
} // ComputeShadowBlurVShader
|
||||
|
||||
@ -86,7 +86,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "gaussian6v.frag");
|
||||
assignUniforms("pixel", "sigma");
|
||||
|
||||
assignSamplerNames(m_program, 0, "tex", ST_BILINEAR_CLAMPED_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_BILINEAR_CLAMPED_FILTERED);
|
||||
} // Gaussian6VBlurShader
|
||||
}; // Gaussian6VBlurShader
|
||||
|
||||
@ -101,7 +101,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "gaussian3v.frag");
|
||||
assignUniforms("pixel");
|
||||
|
||||
assignSamplerNames(m_program, 0, "tex", ST_BILINEAR_CLAMPED_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_BILINEAR_CLAMPED_FILTERED);
|
||||
} // Gaussian3VBlurShader
|
||||
}; // Gaussian3VBlurShader
|
||||
|
||||
@ -117,8 +117,7 @@ public:
|
||||
loadProgram(OBJECT, GL_COMPUTE_SHADER, "gaussian6v.comp");
|
||||
m_dest_tu = 1;
|
||||
assignUniforms("pixel", "weights");
|
||||
assignSamplerNames(m_program, 0, "source",
|
||||
ST_BILINEAR_CLAMPED_FILTERED);
|
||||
assignSamplerNames(0, "source", ST_BILINEAR_CLAMPED_FILTERED);
|
||||
assignTextureUnit(m_dest_tu, "dest");
|
||||
} // ComputeGaussian6VBlurShader
|
||||
}; // ComputeGaussian6VBlurShader
|
||||
@ -135,8 +134,7 @@ public:
|
||||
loadProgram(OBJECT, GL_COMPUTE_SHADER, "gaussian6h.comp");
|
||||
m_dest_tu = 1;
|
||||
assignUniforms("pixel", "weights");
|
||||
assignSamplerNames(m_program, 0, "source",
|
||||
ST_BILINEAR_CLAMPED_FILTERED);
|
||||
assignSamplerNames(0, "source", ST_BILINEAR_CLAMPED_FILTERED);
|
||||
assignTextureUnit(m_dest_tu, "dest");
|
||||
} // ComputeGaussian6HBlurShader
|
||||
}; // ComputeGaussian6HBlurShader
|
||||
@ -153,7 +151,7 @@ public:
|
||||
loadProgram(OBJECT, GL_COMPUTE_SHADER, "blurshadowH.comp");
|
||||
m_dest_tu = 1;
|
||||
assignUniforms("pixel", "weights");
|
||||
assignSamplerNames(m_program, 0, "source", ST_NEARED_CLAMPED_FILTERED);
|
||||
assignSamplerNames(0, "source", ST_NEARED_CLAMPED_FILTERED);
|
||||
assignTextureUnit(m_dest_tu, "dest");
|
||||
} // ComputeShadowBlurHShader
|
||||
}; // ComputeShadowBlurHShader
|
||||
@ -169,7 +167,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "gaussian6h.frag");
|
||||
assignUniforms("pixel", "sigma");
|
||||
|
||||
assignSamplerNames(m_program, 0, "tex", ST_BILINEAR_CLAMPED_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_BILINEAR_CLAMPED_FILTERED);
|
||||
} // Gaussian6HBlurShader
|
||||
}; // Gaussian6HBlurShader
|
||||
|
||||
@ -183,8 +181,8 @@ public:
|
||||
loadProgram(OBJECT, GL_VERTEX_SHADER, "screenquad.vert",
|
||||
GL_FRAGMENT_SHADER, "bilateralH.frag");
|
||||
assignUniforms("pixel");
|
||||
assignSamplerNames(m_program,0, "tex", ST_BILINEAR_CLAMPED_FILTERED,
|
||||
1, "depth", ST_BILINEAR_CLAMPED_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_BILINEAR_CLAMPED_FILTERED,
|
||||
1, "depth", ST_BILINEAR_CLAMPED_FILTERED);
|
||||
} // Gaussian17TapHShader
|
||||
}; // Gaussian17TapHShader
|
||||
|
||||
@ -199,8 +197,8 @@ public:
|
||||
loadProgram(OBJECT, GL_COMPUTE_SHADER, "bilateralH.comp");
|
||||
m_dest_tu = 2;
|
||||
assignUniforms("pixel");
|
||||
assignSamplerNames(m_program, 0, "source", ST_NEARED_CLAMPED_FILTERED,
|
||||
1, "depth", ST_NEARED_CLAMPED_FILTERED);
|
||||
assignSamplerNames(0, "source", ST_NEARED_CLAMPED_FILTERED,
|
||||
1, "depth", ST_NEARED_CLAMPED_FILTERED);
|
||||
assignTextureUnit(m_dest_tu, "dest");
|
||||
} // ComputeGaussian17TapHShader
|
||||
}; // ComputeGaussian17TapHShader
|
||||
@ -217,8 +215,8 @@ public:
|
||||
GL_FRAGMENT_SHADER, "bilateralV.frag");
|
||||
assignUniforms("pixel");
|
||||
|
||||
assignSamplerNames(m_program,0, "tex", ST_BILINEAR_CLAMPED_FILTERED,
|
||||
1, "depth", ST_BILINEAR_CLAMPED_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_BILINEAR_CLAMPED_FILTERED,
|
||||
1, "depth", ST_BILINEAR_CLAMPED_FILTERED);
|
||||
} // Gaussian17TapVShader
|
||||
}; // Gaussian17TapVShader
|
||||
|
||||
@ -234,8 +232,8 @@ public:
|
||||
loadProgram(OBJECT, GL_COMPUTE_SHADER, "bilateralV.comp");
|
||||
m_dest_tu = 2;
|
||||
assignUniforms("pixel");
|
||||
assignSamplerNames(m_program, 0, "source", ST_NEARED_CLAMPED_FILTERED,
|
||||
1, "depth", ST_NEARED_CLAMPED_FILTERED);
|
||||
assignSamplerNames(0, "source", ST_NEARED_CLAMPED_FILTERED,
|
||||
1, "depth", ST_NEARED_CLAMPED_FILTERED);
|
||||
assignTextureUnit(m_dest_tu, "dest");
|
||||
} // ComputeGaussian17TapVShader
|
||||
}; // ComputeGaussian17TapVShader
|
||||
@ -251,7 +249,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "utils/getRGBfromCIEXxy.frag",
|
||||
GL_FRAGMENT_SHADER, "bloom.frag");
|
||||
assignUniforms();
|
||||
assignSamplerNames(m_program, 0, "tex", ST_NEAREST_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_NEAREST_FILTERED);
|
||||
} // BloomShader
|
||||
}; // BloomShader
|
||||
|
||||
@ -264,9 +262,9 @@ public:
|
||||
loadProgram(OBJECT, GL_VERTEX_SHADER, "screenquad.vert",
|
||||
GL_FRAGMENT_SHADER, "bloomblend.frag");
|
||||
assignUniforms();
|
||||
assignSamplerNames(m_program, 0, "tex_128", ST_BILINEAR_FILTERED,
|
||||
1, "tex_256", ST_BILINEAR_FILTERED,
|
||||
2, "tex_512", ST_BILINEAR_FILTERED);
|
||||
assignSamplerNames(0, "tex_128", ST_BILINEAR_FILTERED,
|
||||
1, "tex_256", ST_BILINEAR_FILTERED,
|
||||
2, "tex_512", ST_BILINEAR_FILTERED);
|
||||
} // BloomBlendShader
|
||||
}; // BloomBlendShader
|
||||
|
||||
@ -280,9 +278,9 @@ public:
|
||||
GL_FRAGMENT_SHADER, "lensblend.frag");
|
||||
assignUniforms();
|
||||
|
||||
assignSamplerNames(m_program, 0, "tex_128", ST_BILINEAR_FILTERED,
|
||||
1, "tex_256", ST_BILINEAR_FILTERED,
|
||||
2, "tex_512", ST_BILINEAR_FILTERED);
|
||||
assignSamplerNames(0, "tex_128", ST_BILINEAR_FILTERED,
|
||||
1, "tex_256", ST_BILINEAR_FILTERED,
|
||||
2, "tex_512", ST_BILINEAR_FILTERED);
|
||||
} // LensBlendShader
|
||||
}; // LensBlendShader
|
||||
|
||||
@ -298,7 +296,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "utils/getCIEXYZ.frag",
|
||||
GL_FRAGMENT_SHADER, "tonemap.frag");
|
||||
assignUniforms("vignette_weight");
|
||||
assignSamplerNames(m_program, 0, "text", ST_NEAREST_FILTERED);
|
||||
assignSamplerNames(0, "text", ST_NEAREST_FILTERED);
|
||||
} // ToneMapShader
|
||||
}; // ToneMapShader
|
||||
|
||||
@ -312,8 +310,8 @@ public:
|
||||
GL_FRAGMENT_SHADER, "dof.frag");
|
||||
|
||||
assignUniforms();
|
||||
assignSamplerNames(m_program, 0, "tex", ST_BILINEAR_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_BILINEAR_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED);
|
||||
} // DepthOfFieldShader
|
||||
}; // DepthOfFieldShader
|
||||
|
||||
@ -330,9 +328,9 @@ public:
|
||||
GL_FRAGMENT_SHADER, "utils/SpecularIBL.frag",
|
||||
GL_FRAGMENT_SHADER, "IBL.frag");
|
||||
assignUniforms();
|
||||
assignSamplerNames(m_program, 0, "ntex", ST_NEAREST_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED,
|
||||
2, "probe", ST_TRILINEAR_CUBEMAP);
|
||||
assignSamplerNames(0, "ntex", ST_NEAREST_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED,
|
||||
2, "probe", ST_TRILINEAR_CUBEMAP);
|
||||
} // IBLShader
|
||||
}; // IBLShader
|
||||
|
||||
@ -349,7 +347,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "utils/SpecularIBL.frag",
|
||||
GL_FRAGMENT_SHADER, "degraded_ibl.frag");
|
||||
assignUniforms();
|
||||
assignSamplerNames(m_program, 0, "ntex", ST_NEAREST_FILTERED);
|
||||
assignSamplerNames(0, "ntex", ST_NEAREST_FILTERED);
|
||||
} // DegradedIBLShader
|
||||
}; // DegradedIBLShader
|
||||
|
||||
|
@ -88,8 +88,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "instanced_object_pass1.frag");
|
||||
|
||||
assignUniforms();
|
||||
assignSamplerNames(m_program, 0, "glosstex",
|
||||
ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
assignSamplerNames(0, "glosstex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
} // InstancedObjectPass1Shader
|
||||
}; // class InstancedObjectPass1Shader
|
||||
|
||||
@ -105,8 +104,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "instanced_objectref_pass1.frag");
|
||||
|
||||
assignUniforms();
|
||||
assignSamplerNames(m_program,
|
||||
0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
assignSamplerNames(0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
1, "glosstex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
}
|
||||
|
||||
@ -123,8 +121,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "utils/getLightFactor.frag",
|
||||
GL_FRAGMENT_SHADER, "objectref_pass2.frag");
|
||||
assignUniforms("ModelMatrix", "TextureMatrix");
|
||||
assignSamplerNames(m_program,
|
||||
0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
assignSamplerNames(0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
1, "SpecularMap", ST_NEAREST_FILTERED,
|
||||
2, "SSAO", ST_BILINEAR_FILTERED,
|
||||
3, "Albedo", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
@ -143,7 +140,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "utils/getLightFactor.frag",
|
||||
GL_FRAGMENT_SHADER, "instanced_object_pass2.frag");
|
||||
assignUniforms();
|
||||
assignSamplerNames(m_program, 0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
assignSamplerNames(0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
1, "SpecularMap", ST_NEAREST_FILTERED,
|
||||
2, "SSAO", ST_BILINEAR_FILTERED,
|
||||
3, "Albedo", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
@ -162,8 +159,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "utils/getLightFactor.frag",
|
||||
GL_FRAGMENT_SHADER, "instanced_objectref_pass2.frag");
|
||||
assignUniforms();
|
||||
assignSamplerNames(m_program,
|
||||
0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
assignSamplerNames(0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
1, "SpecularMap", ST_NEAREST_FILTERED,
|
||||
2, "SSAO", ST_BILINEAR_FILTERED,
|
||||
3, "Albedo", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
@ -233,8 +229,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "rsm.frag");
|
||||
|
||||
assignUniforms("RSMMatrix", "ModelMatrix", "TextureMatrix");
|
||||
assignSamplerNames(m_program, 0, "tex",
|
||||
ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
} // CRSMShader
|
||||
}; // CRSMShader
|
||||
|
||||
@ -250,8 +245,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "splatting_rsm.frag");
|
||||
|
||||
assignUniforms("RSMMatrix", "ModelMatrix");
|
||||
assignSamplerNames(m_program,
|
||||
0, "tex_layout", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
assignSamplerNames(0, "tex_layout", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
1, "tex_detail0", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
2, "tex_detail1", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
3, "tex_detail2", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
@ -271,8 +265,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "instanced_rsm.frag");
|
||||
|
||||
assignUniforms("RSMMatrix");
|
||||
assignSamplerNames(m_program, 0, "tex",
|
||||
ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
} // CInstancedRSMShader
|
||||
}; // CInstancedRSMShader
|
||||
|
||||
@ -288,8 +281,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "utils/getPosFromUVDepth.frag",
|
||||
GL_FRAGMENT_SHADER, "objectpass_spheremap.frag");
|
||||
assignUniforms("ModelMatrix", "InverseModelMatrix");
|
||||
assignSamplerNames(m_program,
|
||||
0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
assignSamplerNames(0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
1, "SpecularMap", ST_NEAREST_FILTERED,
|
||||
2, "SSAO", ST_BILINEAR_FILTERED,
|
||||
3, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
@ -308,8 +300,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "utils/getPosFromUVDepth.frag",
|
||||
GL_FRAGMENT_SHADER, "instanced_objectpass_spheremap.frag");
|
||||
assignUniforms();
|
||||
assignSamplerNames(m_program,
|
||||
0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
assignSamplerNames(0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
1, "SpecularMap", ST_NEAREST_FILTERED,
|
||||
2, "SSAO", ST_BILINEAR_FILTERED,
|
||||
3, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
@ -327,15 +318,14 @@ public:
|
||||
GL_FRAGMENT_SHADER, "splatting.frag");
|
||||
assignUniforms("ModelMatrix");
|
||||
|
||||
assignSamplerNames(m_program,
|
||||
0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
1, "SpecularMap", ST_NEAREST_FILTERED,
|
||||
2, "SSAO", ST_BILINEAR_FILTERED,
|
||||
3, "tex_layout", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
4, "tex_detail0", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
5, "tex_detail1", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
6, "tex_detail2", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
7, "tex_detail3", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
assignSamplerNames(0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
1, "SpecularMap", ST_NEAREST_FILTERED,
|
||||
2, "SSAO", ST_BILINEAR_FILTERED,
|
||||
3, "tex_layout", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
4, "tex_detail0", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
5, "tex_detail1", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
6, "tex_detail2", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
7, "tex_detail3", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
} // SplattingShader
|
||||
}; // SplattingShader
|
||||
|
||||
@ -350,8 +340,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "utils/encode_normal.frag",
|
||||
GL_FRAGMENT_SHADER, "objectref_pass1.frag");
|
||||
assignUniforms("ModelMatrix", "InverseModelMatrix", "TextureMatrix");
|
||||
assignSamplerNames(m_program,
|
||||
0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
assignSamplerNames(0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
1, "glosstex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
} // ObjectRefPass1Shader
|
||||
}; // ObjectRefPass1Shader
|
||||
@ -368,8 +357,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "utils/encode_normal.frag",
|
||||
GL_FRAGMENT_SHADER, "normalmap.frag");
|
||||
assignUniforms("ModelMatrix", "InverseModelMatrix");
|
||||
assignSamplerNames(m_program,
|
||||
1, "normalMap", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
assignSamplerNames(1, "normalMap", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
0, "DiffuseForAlpha", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
} // NormalMapShader
|
||||
|
||||
@ -386,8 +374,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "utils/encode_normal.frag",
|
||||
GL_FRAGMENT_SHADER, "instanced_normalmap.frag");
|
||||
assignUniforms();
|
||||
assignSamplerNames(m_program,
|
||||
0, "normalMap", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
assignSamplerNames(0, "normalMap", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
1, "glossMap", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
} // InstancedNormalMapShader
|
||||
}; // InstancedNormalMapShader
|
||||
@ -402,8 +389,7 @@ public:
|
||||
loadProgram(OBJECT, GL_VERTEX_SHADER, "object_pass.vert",
|
||||
GL_FRAGMENT_SHADER, "object_unlit.frag");
|
||||
assignUniforms("ModelMatrix", "TextureMatrix");
|
||||
assignSamplerNames(m_program,
|
||||
0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
assignSamplerNames(0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
1, "SpecularMap", ST_NEAREST_FILTERED,
|
||||
2, "SSAO", ST_BILINEAR_FILTERED,
|
||||
3, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
@ -420,8 +406,7 @@ public:
|
||||
GL_VERTEX_SHADER, "instanced_object_pass.vert",
|
||||
GL_FRAGMENT_SHADER, "instanced_object_unlit.frag");
|
||||
assignUniforms();
|
||||
assignSamplerNames(m_program,
|
||||
0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
assignSamplerNames(0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
1, "SpecularMap", ST_NEAREST_FILTERED,
|
||||
2, "SSAO", ST_BILINEAR_FILTERED,
|
||||
3, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
@ -558,8 +543,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "utils/encode_normal.frag",
|
||||
GL_FRAGMENT_SHADER, "objectref_pass1.frag");
|
||||
assignUniforms("ModelMatrix", "InverseModelMatrix", "windDir");
|
||||
assignSamplerNames(m_program,
|
||||
0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
assignSamplerNames(0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
1, "glosstex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
} // GrassPass1Shader
|
||||
|
||||
@ -577,8 +561,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "utils/encode_normal.frag",
|
||||
GL_FRAGMENT_SHADER, "instanced_objectref_pass1.frag");
|
||||
assignUniforms("windDir");
|
||||
assignSamplerNames(m_program,
|
||||
0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
assignSamplerNames(0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
1, "glosstex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
} // InstancedGrassPass1Shader
|
||||
}; // InstancedGrassPass1Shader
|
||||
@ -605,8 +588,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "instanced_shadowref.frag");
|
||||
}
|
||||
assignUniforms("layer", "ModelMatrix", "windDir");
|
||||
assignSamplerNames(m_program, 0, "tex",
|
||||
ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
} // GrassShadowShader
|
||||
}; // GrassShadowShader
|
||||
|
||||
@ -634,8 +616,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "instanced_shadowref.frag");
|
||||
}
|
||||
|
||||
assignSamplerNames(m_program, 0, "tex",
|
||||
ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
assignUniforms("layer", "windDir");
|
||||
} // InstancedGrassShadowShader
|
||||
}; // InstancedGrassShadowShader
|
||||
@ -652,8 +633,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "utils/getLightFactor.frag",
|
||||
GL_FRAGMENT_SHADER, "grass_pass2.frag");
|
||||
assignUniforms("ModelMatrix", "windDir");
|
||||
assignSamplerNames(m_program,
|
||||
0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
assignSamplerNames(0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
1, "SpecularMap", ST_NEAREST_FILTERED,
|
||||
2, "SSAO", ST_BILINEAR_FILTERED,
|
||||
3, "Albedo", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
@ -673,8 +653,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "utils/getLightFactor.frag",
|
||||
GL_FRAGMENT_SHADER, "instanced_grass_pass2.frag");
|
||||
assignUniforms("windDir", "SunDir");
|
||||
assignSamplerNames(m_program,
|
||||
0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
assignSamplerNames(0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
1, "SpecularMap", ST_NEAREST_FILTERED,
|
||||
2, "SSAO", ST_BILINEAR_FILTERED,
|
||||
3, "dtex", ST_NEAREST_FILTERED,
|
||||
@ -694,7 +673,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "utils/getLightFactor.frag",
|
||||
GL_FRAGMENT_SHADER, "detailedobject_pass2.frag");
|
||||
assignUniforms("ModelMatrix");
|
||||
assignSamplerNames(m_program, 0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
assignSamplerNames(0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
1, "SpecularMap", ST_NEAREST_FILTERED,
|
||||
2, "SSAO", ST_BILINEAR_FILTERED,
|
||||
3, "Albedo", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
@ -714,7 +693,7 @@ public:
|
||||
GL_FRAGMENT_SHADER, "utils/getLightFactor.frag",
|
||||
GL_FRAGMENT_SHADER, "instanced_detailedobject_pass2.frag");
|
||||
assignUniforms();
|
||||
assignSamplerNames(m_program, 0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
assignSamplerNames(0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
1, "SpecularMap", ST_NEAREST_FILTERED,
|
||||
2, "SSAO", ST_BILINEAR_FILTERED,
|
||||
3, "Albedo", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
|
@ -401,7 +401,7 @@ namespace MeshShader
|
||||
GL_FRAGMENT_SHADER, "utils/encode_normal.frag",
|
||||
GL_FRAGMENT_SHADER, "object_pass1.frag");
|
||||
assignUniforms("ModelMatrix", "InverseModelMatrix");
|
||||
assignSamplerNames(m_program, 0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
}
|
||||
|
||||
|
||||
@ -413,11 +413,11 @@ namespace MeshShader
|
||||
GL_FRAGMENT_SHADER, "utils/getLightFactor.frag",
|
||||
GL_FRAGMENT_SHADER, "object_pass2.frag");
|
||||
assignUniforms("ModelMatrix", "TextureMatrix");
|
||||
assignSamplerNames(m_program, 0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
1, "SpecularMap", ST_NEAREST_FILTERED,
|
||||
2, "SSAO", ST_BILINEAR_FILTERED,
|
||||
3, "Albedo", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
4, "SpecMap", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
assignSamplerNames(0, "DiffuseMap", ST_NEAREST_FILTERED,
|
||||
1, "SpecularMap", ST_NEAREST_FILTERED,
|
||||
2, "SSAO", ST_BILINEAR_FILTERED,
|
||||
3, "Albedo", ST_TRILINEAR_ANISOTROPIC_FILTERED,
|
||||
4, "SpecMap", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
}
|
||||
|
||||
|
||||
@ -428,7 +428,7 @@ namespace MeshShader
|
||||
GL_VERTEX_SHADER, "object_pass.vert",
|
||||
GL_FRAGMENT_SHADER, "transparent.frag");
|
||||
assignUniforms("ModelMatrix", "TextureMatrix");
|
||||
assignSamplerNames(m_program, 0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
}
|
||||
|
||||
TransparentFogShader::TransparentFogShader()
|
||||
@ -438,7 +438,7 @@ namespace MeshShader
|
||||
GL_FRAGMENT_SHADER, "transparentfog.frag");
|
||||
assignUniforms("ModelMatrix", "TextureMatrix", "fogmax", "startH",
|
||||
"endH", "start", "end", "col");
|
||||
assignSamplerNames(m_program, 0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
}
|
||||
|
||||
|
||||
@ -480,7 +480,7 @@ namespace MeshShader
|
||||
GL_FRAGMENT_SHADER, "shadowref.frag");
|
||||
}
|
||||
assignUniforms("layer", "ModelMatrix");
|
||||
assignSamplerNames(m_program, 0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
}
|
||||
|
||||
InstancedRefShadowShader::InstancedRefShadowShader()
|
||||
@ -504,7 +504,7 @@ namespace MeshShader
|
||||
GL_FRAGMENT_SHADER, "instanced_shadowref.frag");
|
||||
}
|
||||
assignUniforms("layer");
|
||||
assignSamplerNames(m_program, 0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
}
|
||||
|
||||
|
||||
@ -525,11 +525,10 @@ namespace MeshShader
|
||||
GL_FRAGMENT_SHADER, "displace.frag");
|
||||
assignUniforms("ModelMatrix", "dir", "dir2");
|
||||
|
||||
assignSamplerNames(m_program,
|
||||
0, "displacement_tex", ST_BILINEAR_FILTERED,
|
||||
1, "color_tex", ST_BILINEAR_FILTERED,
|
||||
2, "mask_tex", ST_BILINEAR_FILTERED,
|
||||
3, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
assignSamplerNames(0, "displacement_tex", ST_BILINEAR_FILTERED,
|
||||
1, "color_tex", ST_BILINEAR_FILTERED,
|
||||
2, "mask_tex", ST_BILINEAR_FILTERED,
|
||||
3, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
}
|
||||
|
||||
SkyboxShader::SkyboxShader()
|
||||
@ -538,7 +537,7 @@ namespace MeshShader
|
||||
GL_VERTEX_SHADER, "sky.vert",
|
||||
GL_FRAGMENT_SHADER, "sky.frag");
|
||||
assignUniforms();
|
||||
assignSamplerNames(m_program, 0, "tex", ST_TRILINEAR_CUBEMAP);
|
||||
assignSamplerNames(0, "tex", ST_TRILINEAR_CUBEMAP);
|
||||
|
||||
glGenVertexArrays(1, &vao);
|
||||
glBindVertexArray(vao);
|
||||
@ -590,8 +589,8 @@ namespace LightShader
|
||||
GL_FRAGMENT_SHADER, "pointlight.frag");
|
||||
|
||||
assignUniforms();
|
||||
assignSamplerNames(m_program, 0, "ntex", ST_NEAREST_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED);
|
||||
assignSamplerNames(0, "ntex", ST_NEAREST_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED);
|
||||
glGenVertexArrays(1, &vao);
|
||||
glBindVertexArray(vao);
|
||||
|
||||
@ -627,7 +626,7 @@ namespace LightShader
|
||||
GL_FRAGMENT_SHADER, "pointlightscatter.frag");
|
||||
|
||||
assignUniforms("density", "fogcol");
|
||||
assignSamplerNames(m_program, 0, "dtex", ST_NEAREST_FILTERED);
|
||||
assignSamplerNames(0, "dtex", ST_NEAREST_FILTERED);
|
||||
|
||||
glGenVertexArrays(1, &vao);
|
||||
glBindVertexArray(vao);
|
||||
@ -687,8 +686,8 @@ namespace FullScreenShader
|
||||
GL_FRAGMENT_SHADER, "utils/SunMRP.frag",
|
||||
GL_FRAGMENT_SHADER, "sunlight.frag");
|
||||
|
||||
assignSamplerNames(m_program, 0, "ntex", ST_NEAREST_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED);
|
||||
assignSamplerNames(0, "ntex", ST_NEAREST_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED);
|
||||
assignUniforms("direction", "col");
|
||||
}
|
||||
|
||||
@ -705,9 +704,9 @@ namespace FullScreenShader
|
||||
GL_FRAGMENT_SHADER, "sunlightshadow.frag");
|
||||
|
||||
// Use 8 to circumvent a catalyst bug when binding sampler
|
||||
assignSamplerNames(m_program, 0, "ntex", ST_NEAREST_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED,
|
||||
8, "shadowtex", ST_SHADOW_SAMPLER);
|
||||
assignSamplerNames(0, "ntex", ST_NEAREST_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED,
|
||||
8, "shadowtex", ST_SHADOW_SAMPLER);
|
||||
assignUniforms("split0", "split1", "split2", "splitmax", "shadow_res");
|
||||
}
|
||||
|
||||
@ -723,9 +722,9 @@ namespace FullScreenShader
|
||||
GL_FRAGMENT_SHADER, "sunlightshadowesm.frag");
|
||||
|
||||
// Use 8 to circumvent a catalyst bug when binding sampler
|
||||
assignSamplerNames(m_program, 0, "ntex", ST_NEAREST_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED,
|
||||
8, "shadowtex", ST_TRILINEAR_CLAMPED_ARRAY2D);
|
||||
assignSamplerNames(0, "ntex", ST_NEAREST_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED,
|
||||
8, "shadowtex", ST_TRILINEAR_CLAMPED_ARRAY2D);
|
||||
|
||||
assignUniforms("split0", "split1", "split2", "splitmax");
|
||||
}
|
||||
@ -747,9 +746,9 @@ namespace FullScreenShader
|
||||
}
|
||||
|
||||
assignUniforms("RSMMatrix", "RHMatrix", "extents", "suncol");
|
||||
assignSamplerNames(m_program, 0, "ctex", ST_BILINEAR_FILTERED,
|
||||
1, "ntex", ST_BILINEAR_FILTERED,
|
||||
2, "dtex", ST_BILINEAR_FILTERED);
|
||||
assignSamplerNames(0, "ctex", ST_BILINEAR_FILTERED,
|
||||
1, "ntex", ST_BILINEAR_FILTERED,
|
||||
2, "dtex", ST_BILINEAR_FILTERED);
|
||||
}
|
||||
|
||||
NVWorkaroundRadianceHintsConstructionShader::NVWorkaroundRadianceHintsConstructionShader()
|
||||
@ -761,9 +760,9 @@ namespace FullScreenShader
|
||||
|
||||
assignUniforms("RSMMatrix", "RHMatrix", "extents", "slice", "suncol");
|
||||
|
||||
assignSamplerNames(m_program, 0, "ctex", ST_BILINEAR_FILTERED,
|
||||
1, "ntex", ST_BILINEAR_FILTERED,
|
||||
2, "dtex", ST_BILINEAR_FILTERED);
|
||||
assignSamplerNames(0, "ctex", ST_BILINEAR_FILTERED,
|
||||
1, "ntex", ST_BILINEAR_FILTERED,
|
||||
2, "dtex", ST_BILINEAR_FILTERED);
|
||||
}
|
||||
|
||||
RHDebug::RHDebug()
|
||||
@ -787,11 +786,11 @@ namespace FullScreenShader
|
||||
GL_FRAGMENT_SHADER, "gi.frag");
|
||||
|
||||
assignUniforms("RHMatrix", "InvRHMatrix", "extents");
|
||||
assignSamplerNames(m_program, 0, "ntex", ST_NEAREST_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED,
|
||||
2, "SHR", ST_VOLUME_LINEAR_FILTERED,
|
||||
3, "SHG", ST_VOLUME_LINEAR_FILTERED,
|
||||
4, "SHB", ST_VOLUME_LINEAR_FILTERED);
|
||||
assignSamplerNames(0, "ntex", ST_NEAREST_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED,
|
||||
2, "SHR", ST_VOLUME_LINEAR_FILTERED,
|
||||
3, "SHG", ST_VOLUME_LINEAR_FILTERED,
|
||||
4, "SHB", ST_VOLUME_LINEAR_FILTERED);
|
||||
}
|
||||
|
||||
HorizontalBlurShader::HorizontalBlurShader()
|
||||
@ -801,7 +800,7 @@ namespace FullScreenShader
|
||||
GL_FRAGMENT_SHADER, "gaussian6h.frag");
|
||||
assignUniforms("pixel");
|
||||
|
||||
assignSamplerNames(m_program, 0, "tex", ST_BILINEAR_CLAMPED_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_BILINEAR_CLAMPED_FILTERED);
|
||||
}
|
||||
|
||||
PassThroughShader::PassThroughShader()
|
||||
@ -811,7 +810,7 @@ namespace FullScreenShader
|
||||
GL_FRAGMENT_SHADER, "passthrough.frag");
|
||||
|
||||
assignUniforms("width", "height");
|
||||
assignSamplerNames(m_program, 0, "tex", ST_BILINEAR_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_BILINEAR_FILTERED);
|
||||
}
|
||||
|
||||
LayerPassThroughShader::LayerPassThroughShader()
|
||||
@ -832,7 +831,7 @@ namespace FullScreenShader
|
||||
GL_FRAGMENT_SHADER, "linearizedepth.frag");
|
||||
assignUniforms("zn", "zf");
|
||||
|
||||
assignSamplerNames(m_program, 0, "texture", ST_BILINEAR_FILTERED);
|
||||
assignSamplerNames(0, "texture", ST_BILINEAR_FILTERED);
|
||||
}
|
||||
|
||||
|
||||
@ -841,7 +840,7 @@ namespace FullScreenShader
|
||||
loadProgram(OBJECT,
|
||||
GL_COMPUTE_SHADER, "Lightspaceboundingbox.comp",
|
||||
GL_COMPUTE_SHADER, "utils/getPosFromUVDepth.frag");
|
||||
assignSamplerNames(m_program, 0, "depth", ST_NEAREST_FILTERED);
|
||||
assignSamplerNames(0, "depth", ST_NEAREST_FILTERED);
|
||||
assignUniforms("SunCamMatrix", "split0", "split1", "split2", "splitmax");
|
||||
GLuint block_idx = glGetProgramResourceIndex(m_program, GL_SHADER_STORAGE_BLOCK, "BoundingBoxes");
|
||||
glShaderStorageBlockBinding(m_program, block_idx, 2);
|
||||
@ -863,7 +862,7 @@ namespace FullScreenShader
|
||||
loadProgram(OBJECT,
|
||||
GL_COMPUTE_SHADER, "depthhistogram.comp",
|
||||
GL_COMPUTE_SHADER, "utils/getPosFromUVDepth.frag");
|
||||
assignSamplerNames(m_program, 0, "depth", ST_NEAREST_FILTERED);
|
||||
assignSamplerNames(0, "depth", ST_NEAREST_FILTERED);
|
||||
|
||||
GLuint block_idx = glGetProgramResourceIndex(m_program, GL_SHADER_STORAGE_BLOCK, "Histogram");
|
||||
glShaderStorageBlockBinding(m_program, block_idx, 1);
|
||||
@ -876,7 +875,7 @@ namespace FullScreenShader
|
||||
GL_FRAGMENT_SHADER, "glow.frag");
|
||||
assignUniforms();
|
||||
|
||||
assignSamplerNames(m_program, 0, "tex", ST_BILINEAR_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_BILINEAR_FILTERED);
|
||||
vao = createVAO(m_program);
|
||||
}
|
||||
|
||||
@ -889,7 +888,7 @@ namespace FullScreenShader
|
||||
GL_FRAGMENT_SHADER, "ssao.frag");
|
||||
|
||||
assignUniforms("radius", "k", "sigma");
|
||||
assignSamplerNames(m_program, 0, "dtex", ST_SEMI_TRILINEAR);
|
||||
assignSamplerNames(0, "dtex", ST_SEMI_TRILINEAR);
|
||||
}
|
||||
|
||||
FogShader::FogShader()
|
||||
@ -900,7 +899,7 @@ namespace FullScreenShader
|
||||
GL_FRAGMENT_SHADER, "fog.frag");
|
||||
|
||||
assignUniforms("density", "col");
|
||||
assignSamplerNames(m_program, 0, "tex", ST_NEAREST_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_NEAREST_FILTERED);
|
||||
}
|
||||
|
||||
MotionBlurShader::MotionBlurShader()
|
||||
@ -910,8 +909,8 @@ namespace FullScreenShader
|
||||
GL_FRAGMENT_SHADER, "utils/getPosFromUVDepth.frag",
|
||||
GL_FRAGMENT_SHADER, "motion_blur.frag");
|
||||
assignUniforms("previous_viewproj", "center", "boost_amount", "mask_radius");
|
||||
assignSamplerNames(m_program, 0, "color_buffer", ST_BILINEAR_CLAMPED_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED);
|
||||
assignSamplerNames(0, "color_buffer", ST_BILINEAR_CLAMPED_FILTERED,
|
||||
1, "dtex", ST_NEAREST_FILTERED);
|
||||
}
|
||||
|
||||
GodFadeShader::GodFadeShader()
|
||||
@ -921,7 +920,7 @@ namespace FullScreenShader
|
||||
GL_FRAGMENT_SHADER, "godfade.frag");
|
||||
assignUniforms("col");
|
||||
|
||||
assignSamplerNames(m_program, 0, "tex", ST_BILINEAR_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_BILINEAR_FILTERED);
|
||||
}
|
||||
|
||||
GodRayShader::GodRayShader()
|
||||
@ -931,7 +930,7 @@ namespace FullScreenShader
|
||||
GL_FRAGMENT_SHADER, "godray.frag");
|
||||
|
||||
assignUniforms("sunpos");
|
||||
assignSamplerNames(m_program, 0, "tex", ST_BILINEAR_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_BILINEAR_FILTERED);
|
||||
}
|
||||
|
||||
MLAAColorEdgeDetectionSHader::MLAAColorEdgeDetectionSHader()
|
||||
@ -941,7 +940,7 @@ namespace FullScreenShader
|
||||
GL_FRAGMENT_SHADER, "mlaa_color1.frag");
|
||||
assignUniforms("PIXEL_SIZE");
|
||||
|
||||
assignSamplerNames(m_program, 0, "colorMapG", ST_NEAREST_FILTERED);
|
||||
assignSamplerNames(0, "colorMapG", ST_NEAREST_FILTERED);
|
||||
}
|
||||
|
||||
MLAABlendWeightSHader::MLAABlendWeightSHader()
|
||||
@ -951,8 +950,8 @@ namespace FullScreenShader
|
||||
GL_FRAGMENT_SHADER, "mlaa_blend2.frag");
|
||||
assignUniforms("PIXEL_SIZE");
|
||||
|
||||
assignSamplerNames(m_program, 0, "edgesMap", ST_BILINEAR_FILTERED,
|
||||
1, "areaMap", ST_NEAREST_FILTERED);
|
||||
assignSamplerNames(0, "edgesMap", ST_BILINEAR_FILTERED,
|
||||
1, "areaMap", ST_NEAREST_FILTERED);
|
||||
}
|
||||
|
||||
MLAAGatherSHader::MLAAGatherSHader()
|
||||
@ -962,7 +961,7 @@ namespace FullScreenShader
|
||||
GL_FRAGMENT_SHADER, "mlaa_neigh3.frag");
|
||||
assignUniforms("PIXEL_SIZE");
|
||||
|
||||
assignSamplerNames(m_program, 0, "blendMap", ST_NEAREST_FILTERED,
|
||||
1, "colorMap", ST_NEAREST_FILTERED);
|
||||
assignSamplerNames(0, "blendMap", ST_NEAREST_FILTERED,
|
||||
1, "colorMap", ST_NEAREST_FILTERED);
|
||||
}
|
||||
}
|
||||
|
@ -42,8 +42,7 @@ public:
|
||||
|
||||
assignUniforms("ModelViewMatrix", "ProjectionMatrix", "Position",
|
||||
"Size");
|
||||
assignSamplerNames(m_program,
|
||||
0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
assignSamplerNames(0, "tex", ST_TRILINEAR_ANISOTROPIC_FILTERED);
|
||||
} // BillboardShader
|
||||
}; // BillboardShader
|
||||
|
||||
|
@ -103,7 +103,7 @@ private:
|
||||
/** End of recursive variadic template AssigTextureNames. It just
|
||||
* checks if the number of arguments is correct.*/
|
||||
template<unsigned N, typename...Args>
|
||||
void assignTextureNamesImpl(GLuint)
|
||||
void assignTextureNamesImpl()
|
||||
{
|
||||
static_assert(N == NUM_TEXTURES, "Wrong number of texture names");
|
||||
} // assignTextureNamesImpl
|
||||
@ -113,9 +113,8 @@ private:
|
||||
* list of arguments.
|
||||
*/
|
||||
template<unsigned N, typename...Args>
|
||||
void assignTextureNamesImpl(GLuint program, GLuint tex_unit,
|
||||
const char *name, SamplerTypeNew sampler_type,
|
||||
Args...args)
|
||||
void assignTextureNamesImpl(GLuint tex_unit, const char *name,
|
||||
SamplerTypeNew sampler_type, Args...args)
|
||||
{
|
||||
|
||||
m_sampler_ids.push_back(createSamplers(sampler_type));
|
||||
@ -123,7 +122,7 @@ private:
|
||||
assert(sampler_type >= ST_MIN && sampler_type <= ST_MAX);
|
||||
m_texture_type.push_back(m_all_texture_types[sampler_type]);
|
||||
|
||||
GLuint location = glGetUniformLocation(program, name);
|
||||
GLuint location = glGetUniformLocation(m_program, name);
|
||||
m_texture_location.push_back(location);
|
||||
glUniform1i(location, tex_unit);
|
||||
m_texture_units.push_back(tex_unit);
|
||||
@ -132,7 +131,7 @@ private:
|
||||
assert(sampler_type >= ST_MIN && sampler_type <= ST_MAX);
|
||||
m_bind_functions.push_back( m_all_bind_functions[sampler_type]);
|
||||
|
||||
assignTextureNamesImpl<N + 1>(program, args...);
|
||||
assignTextureNamesImpl<N + 1>(args...);
|
||||
} // assignTextureNamesImpl
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
@ -141,10 +140,10 @@ public:
|
||||
* from instances.
|
||||
*/
|
||||
template<typename...Args>
|
||||
void assignSamplerNames(GLuint program, Args...args)
|
||||
void assignSamplerNames(Args...args)
|
||||
{
|
||||
glUseProgram(program);
|
||||
assignTextureNamesImpl<0>(program, args...);
|
||||
glUseProgram(m_program);
|
||||
assignTextureNamesImpl<0>(args...);
|
||||
glUseProgram(0);
|
||||
} // AssignSamplerNames
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user