#ifndef SIMPLE_LIT_H #define SIMPLE_LIT_H #include "Material.h" #include "cglm/types-struct.h" typedef struct { vec3s albedo; float roughness; float metallic; }simple_lit_data_t; vec3s sample_bsdf_simple_lit(const void* data, vec3s normal, vec3s wo, uint32_t sample_index, uint32_t bounce, float* pdf_out); vec3s evaluate_bsdf_simple_lit(const shading_context_t* context, const void* data); float sample_bsdf_pdf_simple_lit(const void* data, vec3s normal, vec3s wo, vec3s wi); inline material_entity_t material_create_simple_lit(simple_lit_data_t* lit_data, material_collection_t* collection) { return material_create(sample_bsdf_simple_lit, sample_bsdf_pdf_simple_lit, evaluate_bsdf_simple_lit, lit_data, collection); } #endif // SIMPLE_LIT_H