#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)
}
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);
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);
}
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
{
}
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);