Shader refactor
This commit is contained in:
@@ -16,22 +16,30 @@ struct Material {
|
||||
bool usesTex;
|
||||
float alphaScissor;
|
||||
bool unshaded;
|
||||
bool cullBack;
|
||||
};
|
||||
|
||||
uniform Material material;
|
||||
|
||||
void main() {
|
||||
FragColor = vec4(0.0);
|
||||
|
||||
if (material.usesColor) {
|
||||
FragColor += vec4(material.color, 1.0);
|
||||
}
|
||||
|
||||
if (material.usesTex) {
|
||||
FragColor += texture(material.tex, UV);
|
||||
}
|
||||
|
||||
if (FragColor.w < material.alphaScissor) {
|
||||
discard;
|
||||
}
|
||||
|
||||
if (material.cullBack && !gl_FrontFacing) {
|
||||
discard;
|
||||
}
|
||||
|
||||
if (!material.unshaded) {
|
||||
FragColor *= vec4(AMBIENT + DIFFUSE + SPECULAR, 1.0);
|
||||
}
|
||||
|
||||
@@ -4,15 +4,8 @@ in vec2 UV;
|
||||
|
||||
out vec4 FragColor;
|
||||
|
||||
struct Material {
|
||||
vec3 color;
|
||||
bool usesColor;
|
||||
sampler2D tex;
|
||||
bool usesTex;
|
||||
};
|
||||
|
||||
uniform Material material;
|
||||
uniform sampler2D tex;
|
||||
|
||||
void main() {
|
||||
FragColor = texture(material.tex, UV);
|
||||
FragColor = texture(tex, UV);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user