mkxp-z/shader/tilemap.pgl.h
刘皓 2cd8202af3
Convert GLSL shaders to PortableGL's shader format
PortableGL supports shaders, but requires them to be compiled
ahead-of-time to C or C++.

I'll write a compiler later to translate from GLSL to this format
automatically at build time.
2025-03-13 16:16:17 -04:00

38 lines
609 B
C

#include <portablegl.h>
#ifdef __cplusplus
extern "C" {
#endif
#define nAutotiles 7
struct TilemapUniforms
{
pgl_mat4 projMat;
pgl_vec2 texSizeInv;
pgl_vec2 translation;
int aniIndex;
int atFrames[nAutotiles];
GLuint texture;
pgl_vec4 tone;
float opacity;
pgl_vec4 color;
};
struct TilemapAttribs
{
pgl_vec2 position;
pgl_vec2 texCoord;
};
struct TilemapVarying
{
pgl_vec2 v_texCoord;
};
void mkxpTilemapVS(float *output, pgl_vec4 *attribs, Shader_Builtins *builtins, void *uniforms);
void mkxpTilemapFS(float *input, Shader_Builtins *builtins, void *uniforms);
#ifdef __cplusplus
}
#endif