Затенение Блинна-Фонга
This commit is contained in:
		
							parent
							
								
									0cca645936
								
							
						
					
					
						commit
						7c3cd85616
					
				@ -31,13 +31,10 @@ void main()
 | 
				
			|||||||
    // Диффузная составляющая
 | 
					    // Диффузная составляющая
 | 
				
			||||||
    float diffuse = max(dot(L_vertex, N), 0.0); // скалярное произведение с отсеканием значений < 0
 | 
					    float diffuse = max(dot(L_vertex, N), 0.0); // скалярное произведение с отсеканием значений < 0
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    // Отраженный вектор
 | 
					    // Вектор половины пути
 | 
				
			||||||
    vec3 R = normalize(reflect(-L_vertex, N)); 
 | 
					    vec3 H = normalize(L_vertex + Cam_vertex);
 | 
				
			||||||
    // Зеркальная составляющая
 | 
					    // Зеркальная составляющая
 | 
				
			||||||
    float specular = 0; 
 | 
					    float specular = pow(max(dot(H, N), 0.0), p*4); // скалярное произведение с отсеканием значений < 0 в степени p
 | 
				
			||||||
    // Если есть диффузная составляющая, то считаем зеркальную
 | 
					 | 
				
			||||||
    if (diffuse > 0)
 | 
					 | 
				
			||||||
        specular = pow(max(dot(Cam_vertex, R), 0.0), p); // скалярное произведение с отсеканием значений < 0 в степени p
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    color = vec4(light_f.color*ka, 1)*texture(tex_ambient, texCoord) + vec4(light_f.color*kd*diffuse, 1)*texture(tex_diffuse, texCoord) + vec4(light_f.color*ks*specular, 1)*texture(tex_specular, texCoord);
 | 
					    color = vec4(light_f.color*ka, 1)*texture(tex_ambient, texCoord) + vec4(light_f.color*kd*diffuse, 1)*texture(tex_diffuse, texCoord) + vec4(light_f.color*ks*specular, 1)*texture(tex_specular, texCoord);
 | 
				
			||||||
} 
 | 
					} 
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user