#ifndef SIMPLE_LIT_H #define SIMPLE_LIT_H #include "Material.h" #include "Rendering/Texture.h" #include "cglm/struct/vec3.h" typedef struct { vec3s albedo; vec3s normal; float roughness; float metallic; } surface_data_t; typedef struct { vec3s albedo; float roughness; float metallic; texture_entity_t albedo_texture; texture_entity_t normal_texture; texture_entity_t roughness_texture; texture_entity_t metallic_texture; } simple_lit_properties_t; path_output simple_lit_render_loop(const void* properties, const shading_context_t* context); inline material_entity_t material_create_simple_lit_default(const simple_lit_properties_t* properties, material_collection_t* collection) { return material_create(properties, sizeof(simple_lit_properties_t), simple_lit_render_loop, collection); } #endif // SIMPLE_LIT_H