44 lines
914 B
C
44 lines
914 B
C
/**
|
|
* Copyright (c) 2025 Dominic Masters
|
|
*
|
|
* This software is released under the MIT License.
|
|
* https://opensource.org/licenses/MIT
|
|
*/
|
|
|
|
#include "assert/assert.h"
|
|
#include "assert/assertgl.h"
|
|
#include "entityshader.h"
|
|
#include "entity_vert.glsl.h"
|
|
#include "entity_frag.glsl.h"
|
|
#include "display/shader/data/transforms.h"
|
|
|
|
entityshader_t ENTITY_SHADER;
|
|
|
|
void entityShaderInit() {
|
|
memset(&ENTITY_SHADER, 0, sizeof(entityshader_t));
|
|
|
|
shaderInit(
|
|
&ENTITY_SHADER.shader,
|
|
entity_vertShaderSource,
|
|
entity_fragShaderSource
|
|
);
|
|
|
|
// Uniform buffers
|
|
ENTITY_SHADER.transformsBlock = shaderGetBlock(
|
|
&ENTITY_SHADER.shader,
|
|
TRANSFORMS_BLOCK_NAME
|
|
);
|
|
|
|
// Uniforms
|
|
|
|
// Bind
|
|
shaderBufferBindToBlock(&TRANSFORMS_BUFFER, ENTITY_SHADER.transformsBlock);
|
|
}
|
|
|
|
void entityShaderUse() {
|
|
shaderUse(&ENTITY_SHADER.shader);
|
|
}
|
|
|
|
void entityShaderDispose() {
|
|
shaderDispose(&ENTITY_SHADER.shader);
|
|
} |