]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - dpsoftrast.h
added RENDERPATH_GLES2
[xonotic/darkplaces.git] / dpsoftrast.h
index ea6261137501e3964752fa9462c5f18146d6abbf..c91eee00950bba377746cc7980e331a636cb1f5e 100644 (file)
@@ -6,7 +6,7 @@
 
 #define DPSOFTRAST_MAXMIPMAPS 16
 #define DPSOFTRAST_TEXTURE_MAXSIZE (1<<(DPSOFTRAST_MAXMIPMAPS - 1))
-#define DPSOFTRAST_MAXTEXTUREUNITS 32
+#define DPSOFTRAST_MAXTEXTUREUNITS 16
 #define DPSOFTRAST_MAXTEXCOORDARRAYS 8
 
 // type of pixels in texture (some of these are converted to BGRA8 on update)
@@ -31,8 +31,10 @@ typedef enum DPSOFTRAST_TEXTURE_FILTER_e
 }
 DPSOFTRAST_TEXTURE_FILTER;
 
-void DPSOFTRAST_Init(int width, int height, unsigned int *colorpixels, unsigned int *depthpixels);
+void DPSOFTRAST_Init(int width, int height, int numthreads, int interlace, unsigned int *colorpixels, unsigned int *depthpixels);
 void DPSOFTRAST_Shutdown(void);
+void DPSOFTRAST_Flush(void);
+void DPSOFTRAST_Finish(void);
 
 int DPSOFTRAST_Texture_New(int flags, int width, int height, int depth);
 void DPSOFTRAST_Texture_Free(int index);
@@ -60,7 +62,7 @@ void DPSOFTRAST_DepthFunc(int comparemode);
 void DPSOFTRAST_DepthRange(float range0, float range1);
 void DPSOFTRAST_PolygonOffset(float alongnormal, float intoview);
 void DPSOFTRAST_CullFace(int mode);
-void DPSOFTRAST_AlphaTest(float enable);
+void DPSOFTRAST_AlphaTest(int enable);
 void DPSOFTRAST_AlphaFunc(int alphafunc, float alphavalue);
 void DPSOFTRAST_Color4f(float r, float g, float b, float a);
 void DPSOFTRAST_GetPixelsBGRA(int blockx, int blocky, int blockwidth, int blockheight, unsigned char *outpixels);
@@ -121,6 +123,21 @@ typedef enum gl20_texunit_e
 }
 gl20_texunit;
 
+typedef enum gles2_attrib_e
+{
+       GLES2ATTRIB_POSITION = 0,
+       GLES2ATTRIB_COLOR = 1,
+       GLES2ATTRIB_TEXCOORD0 = 2,
+       GLES2ATTRIB_TEXCOORD1 = 3,
+       GLES2ATTRIB_TEXCOORD2 = 4,
+       GLES2ATTRIB_TEXCOORD3 = 5,
+       GLES2ATTRIB_TEXCOORD4 = 6,
+       GLES2ATTRIB_TEXCOORD5 = 7,
+       GLES2ATTRIB_TEXCOORD6 = 8,
+       GLES2ATTRIB_TEXCOORD7 = 9,
+}
+gles2_attrib;
+
 // this enum selects which of the glslshadermodeinfo entries should be used
 typedef enum shadermode_e
 {
@@ -290,14 +307,14 @@ typedef enum DPSOFTRAST_UNIFORM_e
 }
 DPSOFTRAST_UNIFORM;
 
-void DPSOFTRAST_SetShader(unsigned int mode, unsigned int permutation);
-#define DPSOFTRAST_Uniform1fARB(index, v0) DPSOFTRAST_Uniform4fARB(index, v0, 0, 0, 0)
-#define DPSOFTRAST_Uniform2fARB(index, v0, v1) DPSOFTRAST_Uniform4fARB(index, v0, v1, 0, 0)
-#define DPSOFTRAST_Uniform3fARB(index, v0, v1, v2) DPSOFTRAST_Uniform4fARB(index, v0, v1, v2, 0)
-void DPSOFTRAST_Uniform4fARB(DPSOFTRAST_UNIFORM index, float v0, float v1, float v2, float v3);
-void DPSOFTRAST_Uniform4fvARB(DPSOFTRAST_UNIFORM index, const float *v);
-void DPSOFTRAST_UniformMatrix4fvARB(DPSOFTRAST_UNIFORM index, int arraysize, int transpose, const float *v);
-void DPSOFTRAST_Uniform1iARB(DPSOFTRAST_UNIFORM index, int i0);
+void DPSOFTRAST_SetShader(int mode, int permutation);
+#define DPSOFTRAST_Uniform1f(index, v0) DPSOFTRAST_Uniform4f(index, v0, 0, 0, 0)
+#define DPSOFTRAST_Uniform2f(index, v0, v1) DPSOFTRAST_Uniform4f(index, v0, v1, 0, 0)
+#define DPSOFTRAST_Uniform3f(index, v0, v1, v2) DPSOFTRAST_Uniform4f(index, v0, v1, v2, 0)
+void DPSOFTRAST_Uniform4f(DPSOFTRAST_UNIFORM index, float v0, float v1, float v2, float v3);
+void DPSOFTRAST_Uniform4fv(DPSOFTRAST_UNIFORM index, const float *v);
+void DPSOFTRAST_UniformMatrix4fv(DPSOFTRAST_UNIFORM index, int arraysize, int transpose, const float *v);
+void DPSOFTRAST_Uniform1i(DPSOFTRAST_UNIFORM index, int i0);
 
 void DPSOFTRAST_DrawTriangles(int firstvertex, int numvertices, int numtriangles, const int *element3i, const unsigned short *element3s);