Improve material loading and add coordinate system model
This commit is contained in:
@@ -9,6 +9,14 @@ struct Material {
|
||||
sampler2D specular1;
|
||||
sampler2D specular2;
|
||||
sampler2D specular3;
|
||||
sampler2D ambient0;
|
||||
sampler2D ambient1;
|
||||
bool use_diff_color;
|
||||
vec3 diff_color;
|
||||
bool use_spec_color;
|
||||
vec3 spec_color;
|
||||
int use_amb_color;
|
||||
vec3 amb_color;
|
||||
};
|
||||
|
||||
out vec4 fragmentColor;
|
||||
@@ -26,8 +34,28 @@ void main()
|
||||
const float light_spec = 0.4;
|
||||
const float light_diff = 0.7;
|
||||
|
||||
vec3 diffuseTexCol = vec3(texture(material.diffuse0, TexCoord));
|
||||
vec3 specularTexCol = vec3(texture(material.specular0, TexCoord));
|
||||
vec3 diffuseTexCol;
|
||||
if (material.use_diff_color) {
|
||||
diffuseTexCol = material.diff_color;
|
||||
} else {
|
||||
diffuseTexCol = vec3(texture(material.diffuse0, TexCoord));
|
||||
}
|
||||
|
||||
vec3 specularTexCol;
|
||||
if (material.use_spec_color) {
|
||||
specularTexCol = material.spec_color;
|
||||
} else {
|
||||
specularTexCol = vec3(texture(material.specular0, TexCoord));
|
||||
}
|
||||
|
||||
vec3 ambTexCol;
|
||||
if (material.use_amb_color == 0) {
|
||||
ambTexCol = vec3(texture(material.ambient0, TexCoord));
|
||||
} else if (material.use_amb_color == 1) {
|
||||
ambTexCol = diffuseTexCol * 0.5;
|
||||
} else if (material.use_amb_color == 2) {
|
||||
ambTexCol = material.amb_color;
|
||||
}
|
||||
|
||||
vec3 normal_n = normalize(Normal);
|
||||
vec3 light_dir_n = normalize(light_direction);
|
||||
|
Reference in New Issue
Block a user