aboutsummaryrefslogtreecommitdiff
path: root/src/scene/material_impl.h
blob: a6aa95b96b071320c4309a757259c3fc0e0e6a42 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#pragma once

#include <gfx/scene/material.h>

typedef struct ShaderProgram ShaderProgram;

typedef struct Material {
  ShaderUniform uniforms[GFX_MAX_UNIFORMS_PER_MATERIAL];
  int           num_uniforms;
} Material;

/// Activate the material.
///
/// This activates the material's shader and configures the shader uniforms that
/// are specific to the material.
void material_activate(ShaderProgram* shader, const Material* material);