mkxp-z/shader/tilemap.pgl.h
刘皓 3f722b8135
Define MKXPZ_NO_GL_TYPES at the top of each PortableGL shader header
Since portablegl.h defines OpenGL types and Khronos's OpenGL headers
also define OpenGL types, and we use both of these headers, this define
is necessary to make sure the Khronos headers don't try to define the
OpenGL types again.
2025-03-14 14:38:46 -04:00

39 lines
635 B
C

#include <portablegl.h>
#define MKXPZ_NO_GL_TYPES
#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