76 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
 | 
						|
 | 
						|
#version 330 core
 | 
						|
out vec4 FragColor;
 | 
						|
 | 
						|
struct Material {
 | 
						|
    sampler2D diffuse;
 | 
						|
    sampler2D specular;
 | 
						|
    float shininess;
 | 
						|
}; 
 | 
						|
 | 
						|
struct DirLight {
 | 
						|
    vec3 direction;
 | 
						|
	
 | 
						|
    vec3 ambient;
 | 
						|
    vec3 diffuse;
 | 
						|
    vec3 specular;
 | 
						|
};
 | 
						|
 | 
						|
struct PointLight {
 | 
						|
    vec3 position;
 | 
						|
    
 | 
						|
    float constant;
 | 
						|
    float linear;
 | 
						|
    float quadratic;
 | 
						|
    
 | 
						|
    vec3 ambient;
 | 
						|
    vec3 diffuse;
 | 
						|
    vec3 specular;
 | 
						|
};
 | 
						|
 | 
						|
struct SpotLight {
 | 
						|
    vec3 position;
 | 
						|
    vec3 direction;
 | 
						|
    float cutOff;
 | 
						|
    float outerCutOff;
 | 
						|
  
 | 
						|
    float constant;
 | 
						|
    float linear;
 | 
						|
    float quadratic;
 | 
						|
  
 | 
						|
    vec3 ambient;
 | 
						|
    vec3 diffuse;
 | 
						|
    vec3 specular;       
 | 
						|
};
 | 
						|
 | 
						|
#define NR_POINT_LIGHTS 10
 | 
						|
 | 
						|
in vec3 FragPos;
 | 
						|
in vec3 Normal;
 | 
						|
in vec2 TexCoord;
 | 
						|
in vec4 FragPosLightSpace;
 | 
						|
 | 
						|
uniform vec3 viewPos;
 | 
						|
uniform DirLight dirLight;
 | 
						|
uniform PointLight pointLights[NR_POINT_LIGHTS];
 | 
						|
uniform SpotLight spotLight;
 | 
						|
uniform Material material;
 | 
						|
 | 
						|
//texture stuff
 | 
						|
// uniform sampler2D ourTexture;
 | 
						|
uniform int hasTransparency;
 | 
						|
// uniform sampler2D specularTexture;
 | 
						|
 | 
						|
//light depth map
 | 
						|
uniform sampler2D shadowMap;
 | 
						|
 | 
						|
 | 
						|
void main(){
 | 
						|
    if(hasTransparency == 1){
 | 
						|
        if(texture(material.diffuse, TexCoord).a < 0.1){
 | 
						|
            discard;
 | 
						|
        }
 | 
						|
    }
 | 
						|
    FragColor = texture(material.diffuse, TexCoord);
 | 
						|
} |