Add support for loading normals from a map

This commit is contained in:
2024-08-18 16:47:30 +01:00
parent 1adac24148
commit 2e39780272
8 changed files with 13181 additions and 45 deletions

View File

@@ -12,12 +12,13 @@
#define SIZE 1200
#define RESOURCE(NAME) "resources/" NAME
extern ShaderID perspective_lit_textured_id;
extern ShaderID perspective_lit_coloured_id;
extern ShaderID perspective_albedo_id;
extern ShaderID orthographic_lit_textured_id;
extern ShaderID orthographic_lit_coloured_id;
extern ShaderID orthographic_albedo_id;
extern ShaderID phong;
extern ShaderID perspective_lit_textured;
extern ShaderID perspective_lit_coloured;
extern ShaderID perspective_albedo;
extern ShaderID orthographic_lit_textured;
extern ShaderID orthographic_lit_coloured;
extern ShaderID orthographic_albedo;
enum {
TINY_EXIT_SUCCESS,
@@ -40,7 +41,8 @@ int main(void) {
return TINY_EXIT_RENDER_INIT_FAILED;
}
Model obj = load_obj_file(arena, RESOURCE("head.obj"), RESOURCE("head.pnm"));
Model obj = load_obj_file(arena, RESOURCE("head.obj"), RESOURCE("head.pnm"),
RESOURCE("head_nm.pnm"));
if (IS_INVALID_MODEL(obj)) {
return TINY_EXIT_MODEL_LOAD_FAILED;
}
@@ -48,8 +50,7 @@ int main(void) {
load_shaders();
clear_buffer(&(render.img), &bg);
render_model(&obj, &render, perspective_lit_textured_id, RENDER_TYPE_SHADED,
teal);
render_model(&obj, &render, phong, RENDER_TYPE_SHADED, teal);
save_image(&(render.img), "result.pam");
wapp_mem_arena_destroy(&arena);