summaryrefslogtreecommitdiffstats
path: root/nebu/include/video/nebu_renderer_gl.h
diff options
context:
space:
mode:
Diffstat (limited to 'nebu/include/video/nebu_renderer_gl.h')
-rw-r--r--nebu/include/video/nebu_renderer_gl.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/nebu/include/video/nebu_renderer_gl.h b/nebu/include/video/nebu_renderer_gl.h
new file mode 100644
index 0000000..64bf0a4
--- /dev/null
+++ b/nebu/include/video/nebu_renderer_gl.h
@@ -0,0 +1,39 @@
+#ifndef NEBU_RENDERER_GL_H
+#define NEBU_RENDERER_GL_H
+
+#include "SDL_opengl.h"
+#include <stdio.h>
+#include "video/nebu_quad.h"
+
+#define POLY_COUNT
+
+#define RENDERER_TYPE_ALL 255
+#define RENDERER_TYPE_COLOR 1
+#define RENDERER_TYPE_NORMAL 2
+#define RENDERER_TYPE_TEXTURE_COORD 4
+#define RENDERER_TYPE_TEXTURE 8
+#define RENDERER_TYPE_TEXTURE_MODE 16
+
+extern void initRenderer();
+extern void printRendererInfo();
+extern void renderQuad(Quad *q);
+extern void renderTris(Tris *q);
+extern void clearState();
+
+typedef struct GLstate {
+ int tex_id; /* current texture */
+ int tex_env_mode; /* current texture env mode */
+ int binds; /* texture bind changes - used for statistics only */
+ int mod_changes; /* mode changes - used for statistics only */
+ int type_mask; /* which modes to change */
+} GLstate;
+
+typedef struct Renderer {
+ /* shows capabilities of the renderer */
+ int ext_filter_anisotropic;
+} Renderer;
+
+extern Renderer renderer;
+extern GLstate *state;
+
+#endif