Changeset 7c929fc in opengl-game
- Timestamp:
- Dec 6, 2019, 4:21:54 AM (5 years ago)
- Branches:
- feature/imgui-sdl, master, points-test
- Children:
- 60578ce
- Parents:
- 2b40f48
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
scene-notes.txt
r2b40f48 r7c929fc 2 2 In vulkan, it is upper left, so I set the projection matrix [1][1] cell to -1 to flip the y-axis and make it match opengl 3 3 4 +z goes into the screen 4 +z goes into the screen (in Vulkan) -
shaders/ship.frag
r2b40f48 r7c929fc 15 15 16 16 // reflectance of the object surface 17 // TODO: Eventually, I might want to move these properties into an ssbo so they differ per object 17 18 vec3 Ks = vec3(1.0, 1.0, 1.0); 18 vec3 Kd = vec3(1.0, 0.5, 0.0);19 vec3 Kd = color; 19 20 vec3 Ka = vec3(0.2, 0.2, 0.2); 20 21 float specular_exponent = 100.0; // specular 'power' … … 31 32 32 33 // diffuse intensity 33 vec3 Id = Ld * color * dot_prod; 34 //vec3 Id = Ld * Kd * dot_prod; 34 vec3 Id = Ld * Kd * dot_prod; 35 35 36 36 vec3 surface_to_viewer_eye = normalize(-position_eye); … … 43 43 vec3 Is = Ls * Ks * specular_factor; 44 44 45 //outColor = vec4(Is + Id + Ia, 1.0); 46 outColor = vec4(color, 1.0); 45 outColor = vec4(Is + Id + Ia, 1.0); 47 46 } -
shaders/ship.vert
r2b40f48 r7c929fc 27 27 // fixed point light position 28 28 //vec3 light_position_world = vec3(0.0, 0.0, 2.0); 29 vec3 light_position_world = vec3(0.4, 1.5, 0.8);30 //vec3 light_position_world = vec3(0.0, 1.0, -1.0);29 //vec3 light_position_world = vec3(0.4, 1.5, 0.8); 30 vec3 light_position_world = vec3(0.4, 0.0, 0.2); 31 31 32 32 // TODO: This does not account for scaling in the model matrix 33 33 // Check Anton's book to see how to fix this 34 34 void main() { 35 position_eye = vec3(ubo.view * sbo.objects[obj_index].model * vec4(vertex_position, 1.0)); 35 //position_eye = vec3(ubo.view * sbo.objects[obj_index].model * vec4(vertex_position, 1.0)); 36 position_eye = vec3(vec4(vertex_position, 1.0)); 36 37 37 38 // Using 0.0 instead of 1.0 means translations won't effect the normal 38 normal_eye = normalize(vec3(ubo.view * sbo.objects[obj_index].model * vec4(vertex_normal, 0.0))); 39 //normal_eye = normalize(vec3(ubo.view * sbo.objects[obj_index].model * vec4(vertex_normal, 0.0))); 40 normal_eye = normalize(vec3(vec4(vertex_normal, 0.0))); 39 41 color = vertex_color; 40 light_position_eye = vec3(ubo.view * vec4(light_position_world, 1.0)); 42 //light_position_eye = vec3(ubo.view * vec4(light_position_world, 1.0)); 43 light_position_eye = vec3(vec4(light_position_world, 1.0)); 41 44 42 45 //gl_Position = ubo.proj * vec4(position_eye, 1.0); -
vulkan-game.cpp
r2b40f48 r7c929fc 502 502 503 503 // z-range is 0 to 1, with +1 pointing into the screen 504 shipPipeline.addObject(addVertexNormals<ShipVertex>({ 504 shipPipeline.addObject( 505 addObjectIndex<ShipVertex>(shipPipeline.getObjects().size(), 506 addVertexNormals<ShipVertex>({ 505 507 {{ 0.5f, -0.5f, 0.5f}, {0.0f, 0.6f, 0.0f}}, 506 508 {{ -0.5f, -0.5f, 0.5f}, {0.0f, 0.6f, 0.0f}}, … … 516 518 {{ -0.3f, 0.3f, 0.3f}, {0.0f, 0.0f, 0.7f}}, 517 519 {{ 0.3f, 0.3f, 0.3f}, {0.0f, 0.0f, 0.7f}}, 518 }), {520 })), { 519 521 0, 1, 2, 3, 4, 5, 520 522 6, 7, 8, 9, 10, 11, 521 }, commandPool, graphicsQueue);523 }, commandPool, graphicsQueue); 522 524 523 525 shipPipeline.createDescriptorSetLayout(); -
vulkan-game.hpp
r2b40f48 r7c929fc 204 204 205 205 vec3 normal = normalize(cross(p2 - p1, p3 - p1)); 206 normal.z = -normal.z;206 //normal.z = -normal.z; 207 207 208 208 // Add the same normal for all 3 vertices
Note:
See TracChangeset
for help on using the changeset viewer.