9#include "shaders.gen.h"
30 double x,
double y,
double w,
double h,
31 double tx,
double ty,
double tw,
double th,
32 const glColour *
c,
double angle );
34 double x,
double y,
double w,
double h,
35 double tx,
double ty,
double tw,
double th,
36 const glColour *
c,
double angle );
39 double x,
double y,
double w,
double h,
40 double tx,
double ty,
double tw,
double th, const glColour *
c );
44 int sx,
int sy, const glColour *
c );
46 double scalew,
double scaleh,
47 int sx,
int sy, const glColour*
c );
49 double bx,
double by,
double angle,
50 int sx,
int sy, const glColour *
c );
53 double scalew,
double scaleh,
double angle,
54 int sx,
int sy, const glColour *
c );
57 double inter,
double bx,
double by,
58 int sx,
int sy, const glColour *
c );
60 double inter,
double bx,
double by,
61 int sx,
int sy, const glColour *
c );
63 double inter,
double bx,
double by,
64 double scalew,
double scaleh,
65 int sx,
int sy, const glColour *
c );
68 double inter,
double bx,
double by,
69 double scalew,
double scaleh,
70 int sx,
int sy, const glColour *
c );
74 int sx,
int sy, const glColour*
c );
79 double bw,
double bh, const glColour*
c );
83 double bw,
double bh, const glColour*
c );
87 double bw,
double bh, const glColour*
c );
90 double bx,
double by, const glColour *
c );
92extern gl_vbo *gl_squareVBO;
93extern gl_vbo *gl_circleVBO;
94void gl_beginSolidProgram(
mat4 projection, const glColour *
c);
95void gl_endSolidProgram (
void);
96void gl_beginSmoothProgram(
mat4 projection);
97void gl_endSmoothProgram (
void);
100void gl_renderShader(
double x,
double y,
double w,
double h,
double r, const SimpleShader *shd, const glColour *
c,
int center );
105 double r, const glColour *
c,
int filled );
110 double x2,
double y2, const glColour *
c );
113void gl_renderRect(
double x,
double y,
double w,
double h, const glColour *
c );
void gl_exitRender(void)
Cleans up the OpenGL rendering routines.
void gl_renderShader(double x, double y, double w, double h, double r, const SimpleShader *shd, const glColour *c, int center)
Renders a simple shader.
void gl_renderShaderH(const SimpleShader *shd, const mat4 *H, const glColour *c, int center)
Renders a simple shader with a transformation.
void gl_renderRect(double x, double y, double w, double h, const glColour *c)
Renders a rectangle.
void gl_renderLine(double x1, double y1, double x2, double y2, const glColour *c)
Draws a line.
void gl_gameToScreenCoords(double *nx, double *ny, double bx, double by)
Converts in-game coordinates to screen coordinates.
void gl_renderSpriteInterpolate(const glTexture *sa, const glTexture *sb, double inter, double bx, double by, int sx, int sy, const glColour *c)
Blits a sprite interpolating, position is relative to the player.
int gl_initRender(void)
Initializes the OpenGL rendering routines.
void gl_renderCircleH(const mat4 *H, const glColour *c, int filled)
Draws a circle.
void gl_renderTexture(const glTexture *texture, double x, double y, double w, double h, double tx, double ty, double tw, double th, const glColour *c, double angle)
Texture blitting backend.
void gl_renderTriangleEmpty(double x, double y, double a, double s, double length, const glColour *c)
Renders a triangle at a given position.
void gl_unclipRect(void)
Clears the 2d clipping planes.
void gl_renderSpriteScale(const glTexture *sprite, double bx, double by, double scalew, double scaleh, int sx, int sy, const glColour *c)
Blits a sprite, position is relative to the player.
void gl_renderSpriteScaleRotate(const glTexture *sprite, double bx, double by, double scalew, double scaleh, double angle, int sx, int sy, const glColour *c)
Blits a sprite, position is relative to the player with scaling and rotation.
void gl_renderStatic(const glTexture *texture, double bx, double by, const glColour *c)
Blits a texture to a position.
void gl_renderScale(const glTexture *texture, double bx, double by, double bw, double bh, const glColour *c)
Blits a texture scaling it.
void gl_renderScaleSprite(const glTexture *sprite, double bx, double by, int sx, int sy, double bw, double bh, const glColour *c)
Blits a scaled sprite, position is in absolute screen coordinates.
void gl_renderTextureInterpolate(const glTexture *ta, const glTexture *tb, double inter, double x, double y, double w, double h, double tx, double ty, double tw, double th, const glColour *c)
Texture blitting backend for interpolated texture.
void gl_renderScaleAspect(const glTexture *texture, double bx, double by, double bw, double bh, const glColour *c)
Blits a texture scaling it to fit a rectangle, but conserves aspect ratio.
void gl_renderTextureRaw(GLuint texture, uint8_t flags, double x, double y, double w, double h, double tx, double ty, double tw, double th, const glColour *c, double angle)
Texture blitting backend.
void gl_renderSprite(const glTexture *sprite, double bx, double by, int sx, int sy, const glColour *c)
Blits a sprite, position is relative to the player.
void gl_renderStaticSpriteInterpolate(const glTexture *sa, const glTexture *sb, double inter, double bx, double by, int sx, int sy, const glColour *c)
Blits a sprite interpolating, position is relative to the player.
void gl_screenToGameCoords(double *nx, double *ny, int bx, int by)
Converts screen coordinates to in-game coordinates.
void gl_renderStaticSprite(const glTexture *sprite, double bx, double by, int sx, int sy, const glColour *c)
Blits a sprite, position is in absolute screen coordinates.
void gl_renderRectEmpty(double x, double y, double w, double h, const glColour *c)
Renders a rectangle.
void gl_renderCross(double x, double y, double r, const glColour *c)
Renders a cross at a given position.
void gl_renderSpriteRotate(const glTexture *sprite, double bx, double by, double angle, int sx, int sy, const glColour *c)
Blits a sprite, position is relative to the player with rotation.
void gl_renderStaticSpriteInterpolateScale(const glTexture *sa, const glTexture *sb, double inter, double bx, double by, double scalew, double scaleh, int sx, int sy, const glColour *c)
Blits a sprite interpolating, position is relative to the player.
void gl_renderSpriteInterpolateScale(const glTexture *sa, const glTexture *sb, double inter, double bx, double by, double scalew, double scaleh, int sx, int sy, const glColour *c)
Blits a sprite interpolating, position is relative to the player.
void gl_renderRectH(const mat4 *H, const glColour *c, int filled)
Renders a rectangle.
mat4 gl_gameToScreenMatrix(mat4 lhs)
Return a transformation which converts in-game coordinates to screen coordinates.
void gl_clipRect(int x, int y, int w, int h)
Sets up 2d clipping planes around a rectangle.
void gl_renderCircle(double cx, double cy, double r, const glColour *c, int filled)
Draws a circle.
Abstraction for rendering sprite sheets.