#include "material_impl.h" #include "memory.h" static void material_make(Material* material, const MaterialDesc* desc) { assert(material); assert(desc); assert(desc->num_uniforms < GFX_MAX_UNIFORMS_PER_MATERIAL); material->alpha_mode = desc->alpha_mode; material->alpha_cutoff = desc->alpha_cutoff; material->num_uniforms = (int8_t)desc->num_uniforms; for (int i = 0; i < desc->num_uniforms; ++i) { material->uniforms[i] = desc->uniforms[i]; } } Material* gfx_make_material(const MaterialDesc* desc) { assert(desc); Material* material = mem_alloc_material(); material_make(material, desc); return material; } void gfx_destroy_material(Material** material) { mem_free_material(material); }