Commit Graph

108 Commits

Author SHA1 Message Date
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
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