|  | 84fbb711e1 | Add function to invert 3x3 matrix | 2024-09-01 22:28:11 +01:00 |  | 
			
				
					|  | e87f780dae | Move vertex and fragment calculations to the shaders | 2024-09-01 02:15:32 +01:00 |  | 
			
				
					|  | 8726c833d4 | Add extra vector and matrix types and operations | 2024-09-01 02:14:25 +01:00 |  | 
			
				
					|  | da495d9e43 | Add array access to Triangle struct | 2024-09-01 02:13:53 +01:00 |  | 
			
				
					|  | 18e9964d33 | Move TRIANGLE_VERTICES constant to constants.h | 2024-09-01 02:13:02 +01:00 |  | 
			
				
					|  | 95d474c956 | Save viewport matrix in a variable | 2024-08-31 22:24:04 +01:00 |  | 
			
				
					|  | 41c30256b7 | Remove unused variable | 2024-08-31 22:23:46 +01:00 |  | 
			
				
					|  | 4b178de784 | Update vector and matrix types | 2024-08-31 22:23:18 +01:00 |  | 
			
				
					|  | bb6b0e3e5d | Change f32x3 to union | 2024-08-31 13:46:12 +01:00 |  | 
			
				
					|  | 97622d0bf7 | Move viewport matrix multiplication out of vertex shader | 2024-08-26 22:30:05 +01:00 |  | 
			
				
					|  | 319bad9659 | Fix barycentric coordinates calculation (#2) Reviewed-on: #2
	* Set up for debugging
	* Replace get_barycentric_coords with different calculation
	* Update commented lines
	* Add V3_ELEM_COUNT macro
	* Change loop in barycentric coordinates calculation function
	* Update debug values
	* Simplify barycentric coordinates function
	* Remove debug lines
Co-authored-by: Abdelrahman <said.abdelrahman89@gmail.com>
Co-committed-by: Abdelrahman <said.abdelrahman89@gmail.com> | 2024-08-26 17:12:44 +00:00 |  | 
			
				
					|  | 57dcf6457c | Update includes and reorder variables | 2024-08-25 02:47:13 +01:00 |  | 
			
				
					|  | 5dac82ffb7 | Pass float vectors when calculating barycentric coordinates | 2024-08-25 01:33:39 +01:00 |  | 
			
				
					|  | 185f44252f | Flip the Y texture coordinate when loading the OBJ model | 2024-08-25 01:32:54 +01:00 |  | 
			
				
					|  | cdf521f184 | Switch back to using object level normals | 2024-08-24 23:39:19 +01:00 |  | 
			
				
					|  | afa9bc7468 | Update phong weights | 2024-08-24 23:16:35 +01:00 |  | 
			
				
					|  | 8ccc424b06 | Calculate light direction from position | 2024-08-24 23:16:11 +01:00 |  | 
			
				
					|  | 62aa2fbc3b | Change directional light to point light | 2024-08-24 23:15:38 +01:00 |  | 
			
				
					|  | 1f5f01d73f | Switch to using tangent normals | 2024-08-24 00:48:46 +01:00 |  | 
			
				
					|  | 798100f138 | Fix Phong specular term | 2024-08-24 00:39:40 +01:00 |  | 
			
				
					|  | 535ead0337 | Change light direction | 2024-08-24 00:28:31 +01:00 |  | 
			
				
					|  | 6f5c094f49 | Use matrices to transform light and normals | 2024-08-24 00:25:41 +01:00 |  | 
			
				
					|  | 996597684b | Add transpose and inverse matrix utilities | 2024-08-24 00:25:18 +01:00 |  | 
			
				
					|  | 4f58fc4803 | Rename create_shader to register_shader | 2024-08-23 22:43:52 +01:00 |  | 
			
				
					|  | c91f1b9e9b | Use correct default arena init function | 2024-08-23 22:31:14 +01:00 |  | 
			
				
					|  | 5eeb7d6819 | Switch to using wapp_mem_arena_init_default | 2024-08-23 21:58:55 +01:00 |  | 
			
				
					|  | ed43a0f286 | Use GB macro to define arena size | 2024-08-23 21:52:12 +01:00 |  | 
			
				
					|  | 8b8855d648 | Reformat | 2024-08-23 21:47:01 +01:00 |  | 
			
				
					|  | 2bea7218db | Test implementation of phong shader | 2024-08-19 00:05:59 +01:00 |  | 
			
				
					|  | afc10fb79a | Add rgb elements to V3f | 2024-08-18 22:29:47 +01:00 |  | 
			
				
					|  | 86138f838c | Add default material to model | 2024-08-18 22:26:01 +01:00 |  | 
			
				
					|  | ddfeba238d | Add PhongMaterial struct | 2024-08-18 22:19:54 +01:00 |  | 
			
				
					|  | 29749c834a | Create FragmentData struct | 2024-08-18 22:19:23 +01:00 |  | 
			
				
					|  | 760d9b6b9c | Move shaders declaration to shaders.h | 2024-08-18 22:18:12 +01:00 |  | 
			
				
					|  | ec98a033eb | Add macro for multiplying V3f with scalar | 2024-08-18 22:17:27 +01:00 |  | 
			
				
					|  | caa8c416a9 | Remove extra intensity calculation | 2024-08-18 21:08:59 +01:00 |  | 
			
				
					|  | 690eb3d317 | Update shaders and ensure coordinates are within buffer bounds | 2024-08-18 21:04:46 +01:00 |  | 
			
				
					|  | 6239be219a | Ensure light is normalised | 2024-08-18 17:09:13 +01:00 |  | 
			
				
					|  | be7b577a0e | Split obj loading and model rendering code | 2024-08-18 17:04:41 +01:00 |  | 
			
				
					|  | 2e39780272 | Add support for loading normals from a map | 2024-08-18 16:47:30 +01:00 |  | 
			
				
					|  | 1adac24148 | Remove seeding prng | 2024-08-18 15:49:17 +01:00 |  | 
			
				
					|  | 50b8c6dd0a | Implement shaders (#1) Reviewed-on: #1
	* Start implementing shaders and move vector code to dedicated files
	* Extract shader into its own header
	* Ensure pixel coordinates are within bounds
	* Refactor shader code and implement fragment shaders
	* Create shaders
	* Reorganise code
Co-authored-by: Abdelrahman <said.abdelrahman89@gmail.com>
Co-committed-by: Abdelrahman <said.abdelrahman89@gmail.com> | 2024-08-18 14:28:09 +00:00 |  | 
			
				
					|  | 3bbab3f624 | Calculate projection matrix from eye and target | 2024-08-17 22:04:33 +01:00 |  | 
			
				
					|  | a3f0be461b | Switch to calculating z buffer from viewport vertices | 2024-08-17 20:27:58 +01:00 |  | 
			
				
					|  | fdce10a85c | Pass vertex as pointer | 2024-08-17 20:21:30 +01:00 |  | 
			
				
					|  | f77fa5694b | Switch to using a viewport matrix | 2024-08-17 16:27:45 +01:00 |  | 
			
				
					|  | 3e414881d9 | Fix global light direction | 2024-08-17 11:49:56 +01:00 |  | 
			
				
					|  | 2f126f95ff | Implement camera movement | 2024-08-12 00:24:12 +01:00 |  | 
			
				
					|  | 643da4e58d | Implement shading based on vertex normals | 2024-08-11 19:53:07 +01:00 |  | 
			
				
					|  | d323c0ae14 | Load vertex normals indices | 2024-08-11 19:39:31 +01:00 |  |