Changeset e1308e8 in opengl-game for shaders/ship.frag
- Timestamp:
- Nov 27, 2019, 6:39:18 PM (5 years ago)
- Branches:
- feature/imgui-sdl, master, points-test
- Children:
- 055750a
- Parents:
- 06d959f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
shaders/ship.frag
r06d959f re1308e8 2 2 #extension GL_ARB_separate_shader_objects : enable 3 3 4 //in vec3 position_eye, normal_eye, color, light_position_eye, light2_position_eye;5 4 layout(location = 0) in vec3 position_eye; 6 5 layout(location = 1) in vec3 color; 7 layout(location = 2) in vec3 light_position_eye;8 layout(location = 3) in vec3 light 2_position_eye;6 layout(location = 2) in vec3 normal_eye; 7 layout(location = 3) in vec3 light_position_eye; 9 8 10 9 layout(location = 0) out vec4 outColor; … … 12 11 // fixed point light properties 13 12 vec3 Ls = vec3(1.0, 1.0, 1.0); 14 vec3 Ld = vec3( 1.0, 1.0, 1.0);13 vec3 Ld = vec3(0.7, 0.7, 0.7); 15 14 vec3 La = vec3(0.2, 0.2, 0.2); 16 15 17 // surface reflectance16 // reflectance of the object surface 18 17 vec3 Ks = vec3(1.0, 1.0, 1.0); 19 vec3 Kd = vec3(1.0, 1.5, 1.0);18 vec3 Kd = vec3(1.0, 0.5, 0.0); 20 19 vec3 Ka = vec3(0.2, 0.2, 0.2); 21 20 float specular_exponent = 100.0; // specular 'power' … … 29 28 30 29 vec3 direction_to_light_eye = normalize(light_position_eye - position_eye); 31 //float dot_prod = max(dot(direction_to_light_eye, normal_eye), 0.0);30 float dot_prod = max(dot(direction_to_light_eye, normal_eye), 0.0); 32 31 33 32 // diffuse intensity 34 //vec3 Id = Ld * color * dot_prod; 33 vec3 Id = Ld * color * dot_prod; 34 //vec3 Id = Ld * Kd * dot_prod; 35 35 36 vec3 direction_to_light2_eye = normalize(light2_position_eye - position_eye); 37 //float dot_prod2 = max(dot(direction_to_light2_eye, normal_eye), 0.0); 36 vec3 surface_to_viewer_eye = normalize(-position_eye); 38 37 39 // diffuse intensity 40 //vec3 Id2 = Ld * color * dot_prod2; 41 42 //vec3 surface_to_viewer_eye = normalize(-position_eye); 43 44 //vec3 reflection_eye = reflect(-direction_to_light_eye, normal_eye); 45 //float dot_prod_specular = max(dot(reflection_eye, surface_to_viewer_eye), 0.0); 46 //float specular_factor = pow(dot_prod_specular, specular_exponent); 47 48 //vec3 reflection_eye2 = reflect(-direction_to_light2_eye, normal_eye); 49 //float dot_prod_specular2 = max(dot(reflection_eye2, surface_to_viewer_eye), 0.0); 50 //float specular_factor2 = pow(dot_prod_specular2, specular_exponent); 38 vec3 reflection_eye = reflect(-direction_to_light_eye, normal_eye); 39 float dot_prod_specular = max(dot(reflection_eye, surface_to_viewer_eye), 0.0); 40 float specular_factor = pow(dot_prod_specular, specular_exponent); 51 41 52 42 // specular intensity 53 //vec3 Is = Ls * Ks * specular_factor; 54 //vec3 Is2 = Ls * Ks * specular_factor2; 43 vec3 Is = Ls * Ks * specular_factor; 55 44 56 //outColor = vec4((Is + Id + Ia + Is2 + Id2 + Ia2)/2, 1.0); 57 outColor = vec4(color, 1.0); 45 outColor = vec4(Is + Id + Ia, 1.0); 58 46 }
Note:
See TracChangeset
for help on using the changeset viewer.