mkxp-z/shader/simpleSprite.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
702 B
C

#include <portablegl.h>
#include <stdbool.h>
#define MKXPZ_NO_GL_TYPES
#ifdef __cplusplus
extern "C" {
#endif
struct SimpleSpriteUniforms
{
pgl_mat4 projMat;
pgl_mat4 spriteMat;
pgl_vec2 texSizeInv;
pgl_vec2 patternSizeInv;
pgl_vec2 patternScroll;
pgl_vec2 patternZoom;
bool renderPattern;
bool patternTile;
GLuint texture;
};
struct SimpleSpriteAttribs
{
pgl_vec2 position;
pgl_vec2 texCoord;
};
struct SimpleSpriteVarying
{
pgl_vec2 v_texCoord;
pgl_vec2 v_patCoord;
};
void mkxpSimpleSpriteVS(float *output, pgl_vec4 *attribs, Shader_Builtins *builtins, void *uniforms);
void mkxpSimpleSpriteFS(float *input, Shader_Builtins *builtins, void *uniforms);
#ifdef __cplusplus
}
#endif