Remove backpack model and replace it with Suzanne
| Before Width: | Height: | Size: 1.8 MiB | 
| @@ -1,16 +0,0 @@ | |||||||
| # Blender MTL File: 'None' |  | ||||||
| # Material Count: 1 |  | ||||||
|  |  | ||||||
| newmtl Scene_-_Root |  | ||||||
| Ns 225.000000 |  | ||||||
| Ka 1.000000 1.000000 1.000000 |  | ||||||
| Kd 0.800000 0.800000 0.800000 |  | ||||||
| Ks 0.500000 0.500000 0.500000 |  | ||||||
| Ke 0.0 0.0 0.0 |  | ||||||
| Ni 1.450000 |  | ||||||
| d 1.000000 |  | ||||||
| illum 2 |  | ||||||
| map_Kd diffuse.jpg |  | ||||||
| map_Bump normal.png |  | ||||||
| map_Ks specular.jpg |  | ||||||
|  |  | ||||||
							
								
								
									
										199481
									
								
								models/backpack/backpack.obj
									
									
									
									
									
								
							
							
						
						| Before Width: | Height: | Size: 5.8 MiB | 
| Before Width: | Height: | Size: 14 MiB | 
| Before Width: | Height: | Size: 4.2 MiB | 
| @@ -1,3 +0,0 @@ | |||||||
| Model by Berk Gedik, from: https://sketchfab.com/3d-models/survival-guitar-backpack-low-poly-799f8c4511f84fab8c3f12887f7e6b36 |  | ||||||
|  |  | ||||||
| Modified material assignment (Joey de Vries) for easier load in OpenGL model loading chapter, and renamed albedo to diffuse and metallic to specular to match non-PBR lighting setup. |  | ||||||
| Before Width: | Height: | Size: 6.4 MiB | 
							
								
								
									
										
											BIN
										
									
								
								models/suzanne/diffuse.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 67 KiB | 
							
								
								
									
										
											BIN
										
									
								
								models/suzanne/specular.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 526 KiB | 
							
								
								
									
										12
									
								
								models/suzanne/suzanne.mtl
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,12 @@ | |||||||
|  | # Blender 4.3.2 MTL File: 'None' | ||||||
|  | # www.blender.org | ||||||
|  |  | ||||||
|  | newmtl Material | ||||||
|  | Ka 1.000000 1.000000 1.000000 | ||||||
|  | Ks 0.500000 0.500000 0.500000 | ||||||
|  | Ke 0.000000 0.000000 0.000000 | ||||||
|  | Ni 1.450000 | ||||||
|  | d 1.000000 | ||||||
|  | illum 2 | ||||||
|  | map_Kd diffuse.png | ||||||
|  | map_Ks specular.png | ||||||
							
								
								
									
										2977
									
								
								models/suzanne/suzanne.obj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										16
									
								
								src/main.cc
									
									
									
									
									
								
							
							
						
						| @@ -164,8 +164,6 @@ int main() { | |||||||
|   SDL_SetRelativeMouseMode(SDL_TRUE); |   SDL_SetRelativeMouseMode(SDL_TRUE); | ||||||
|   SDL_WarpMouseInWindow(window, WINDOW_HALF_WIDTH, WINDOW_HALF_HEIGHT); |   SDL_WarpMouseInWindow(window, WINDOW_HALF_WIDTH, WINDOW_HALF_HEIGHT); | ||||||
|  |  | ||||||
|   stbi_set_flip_vertically_on_load(true); |  | ||||||
|  |  | ||||||
|   glViewport(0, 0, WINDOW_WIDTH, WINDOW_HEIGHT); |   glViewport(0, 0, WINDOW_WIDTH, WINDOW_HEIGHT); | ||||||
|  |  | ||||||
|   glEnable(GL_DEPTH_TEST); |   glEnable(GL_DEPTH_TEST); | ||||||
| @@ -213,7 +211,7 @@ int main() { | |||||||
|     13, 15, 16 |     13, 15, 16 | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|   Model backpack = {"models/backpack/backpack.obj"}; |   Model backpack = {"models/suzanne/suzanne.obj"}; | ||||||
|   Mesh light     = {vertices, indices, {}}; |   Mesh light     = {vertices, indices, {}}; | ||||||
|  |  | ||||||
|   Shader main_shader  {"shaders/vert.glsl", "shaders/frag.glsl"}; |   Shader main_shader  {"shaders/vert.glsl", "shaders/frag.glsl"}; | ||||||
| @@ -244,18 +242,18 @@ int main() { | |||||||
|     glm::vec3( 0.7f,  0.2f,  2.0f), |     glm::vec3( 0.7f,  0.2f,  2.0f), | ||||||
|     glm::vec3( 2.3f, -3.3f, -4.0f), |     glm::vec3( 2.3f, -3.3f, -4.0f), | ||||||
|     glm::vec3(-4.0f,  2.0f, -12.0f), |     glm::vec3(-4.0f,  2.0f, -12.0f), | ||||||
|     glm::vec3( 0.0f,  0.0f, -3.0f) |     glm::vec3( 1.0f,  0.0f, -18.0f) | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|   // Setup lights |   // Setup lights | ||||||
|   main_shader.set_vec3("directional_light.direction", glm::vec3(-0.2f, -1.0f, -0.3f)); |   main_shader.set_vec3("directional_light.direction", glm::vec3(-0.2f, -1.0f, -0.3f)); | ||||||
|   main_shader.set_vec3("directional_light.ambient", light_ambient); |   main_shader.set_vec3("directional_light.ambient", light_ambient); | ||||||
|   main_shader.set_vec3("directional_light.diffuse", light_diffuse); |   main_shader.set_vec3("directional_light.diffuse", light_diffuse * 0.25f); | ||||||
|   main_shader.set_vec3("directional_light.specular", light_specular); |   main_shader.set_vec3("directional_light.specular", light_specular); | ||||||
|  |  | ||||||
|   main_shader.set_vec3("spot_light.ambient", light_ambient); |   main_shader.set_vec3("spot_light.ambient", light_ambient); | ||||||
|   main_shader.set_vec3("spot_light.diffuse", light_diffuse); |   main_shader.set_vec3("spot_light.diffuse", light_diffuse * 0.5f); | ||||||
|   main_shader.set_vec3("spot_light.specular", light_specular); |   main_shader.set_vec3("spot_light.specular", light_specular * 0.25f); | ||||||
|  |  | ||||||
|   for (int i = 0; i < point_light_positions.size(); ++i) { |   for (int i = 0; i < point_light_positions.size(); ++i) { | ||||||
|     char base[256]      = {0}; |     char base[256]      = {0}; | ||||||
| @@ -278,8 +276,8 @@ int main() { | |||||||
|  |  | ||||||
|     main_shader.set_vec3(position, point_light_positions[i]); |     main_shader.set_vec3(position, point_light_positions[i]); | ||||||
|     main_shader.set_vec3(ambient, light_ambient); |     main_shader.set_vec3(ambient, light_ambient); | ||||||
|     main_shader.set_vec3(diffuse, light_diffuse); |     main_shader.set_vec3(diffuse, light_diffuse * 0.25f); | ||||||
|     main_shader.set_vec3(specular, light_specular); |     main_shader.set_vec3(specular, light_specular * 0.5f); | ||||||
|     main_shader.set_float(constant, 1.0f); |     main_shader.set_float(constant, 1.0f); | ||||||
|     main_shader.set_float(linear, 0.09f); |     main_shader.set_float(linear, 0.09f); | ||||||
|     main_shader.set_float(quadratic, 0.032f); |     main_shader.set_float(quadratic, 0.032f); | ||||||
|   | |||||||