Removed now unnecessary parameter for assignSamplerNames.

This commit is contained in:
hiker 2015-05-17 00:22:14 +10:00
parent e0ef910137
commit 1a09a09dd9
8 changed files with 133 additions and 159 deletions

View File

@ -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);

View File

@ -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");
}

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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);
}
}

View File

@ -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

View File

@ -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