Commit Graph

151 Commits

Author SHA1 Message Date
57dcf6457c Update includes and reorder variables 2024-08-25 02:47:13 +01:00
7671f688a3 Extra resources for debugging 2024-08-25 02:45:20 +01:00
f9851967d8 Ignore python related files 2024-08-25 02:43:54 +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
cee57282cb Ignore png images in resources dir 2024-08-25 00:45:46 +01:00
cdf521f184 Switch back to using object level normals 2024-08-24 23:39:19 +01:00
cab1b538e6 Update result screenshot 2024-08-24 23:18:51 +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
22edc89593 Update wapp submodule 2024-08-24 19:08:02 +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
aa9c443997 Update result screenshot 2024-08-24 00:29:20 +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
3ceafe5899 Update wapp submodule 2024-08-23 22:30:32 +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
bf1aa69cf5 Update wapp submodule 2024-08-23 21:51:57 +01:00
8b8855d648 Reformat 2024-08-23 21:47:01 +01:00
0b9a37a9cd Update result screenshot 2024-08-19 00:07:16 +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
4fa553db47 Correct head normals 2024-08-17 11:49:49 +01:00
711b9d8558 Update result screenshot 2024-08-12 00:25:24 +01:00
2f126f95ff Implement camera movement 2024-08-12 00:24:12 +01:00
4143fd7b05 Fix model normals 2024-08-12 00:23:58 +01:00
643da4e58d Implement shading based on vertex normals 2024-08-11 19:53:07 +01:00