X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=gl_backend.h;h=a2209c95fe2904b510e957dea00a7e2c0aee8b3a;hb=e865bb5de13259629b64de5e9df153cbd3fbc84d;hp=773a0d1b0f317570f1c4f1fc418ad5c473eb5a21;hpb=6be576a5bdfccd4467e87edcbb13ff81740bb79c;p=xonotic%2Fdarkplaces.git diff --git a/gl_backend.h b/gl_backend.h index 773a0d1b..a2209c95 100644 --- a/gl_backend.h +++ b/gl_backend.h @@ -15,9 +15,12 @@ void GL_SetupView_Orientation_FromEntity(const matrix4x4_t *matrix); void GL_SetupView_Mode_Perspective(double frustumx, double frustumy, double zNear, double zFar); void GL_SetupView_Mode_PerspectiveInfiniteFarClip(double frustumx, double frustumy, double zNear); void GL_SetupView_Mode_Ortho(double x1, double y1, double x2, double y2, double zNear, double zFar); +void GL_SetupView_ApplyCustomNearClipPlane(double normalx, double normaly, double normalz, double dist); void GL_BlendFunc(int blendfunc1, int blendfunc2); void GL_DepthMask(int state); void GL_DepthTest(int state); +void GL_DepthRange(float nearfrac, float farfrac); +void GL_PolygonOffset(float planeoffset, float depthoffset); void GL_CullFace(int state); void GL_AlphaTest(int state); void GL_ColorMask(int r, int g, int b, int a); @@ -56,6 +59,8 @@ typedef struct rmeshstate_s // pointers const float *pointer_texcoord[MAX_TEXTUREUNITS]; // 2D const float *pointer_texcoord3f[MAX_TEXTUREUNITS]; // 3D + int pointer_texcoord_bufferobject[MAX_TEXTUREUNITS]; // 2D and 3D + size_t pointer_texcoord_bufferoffset[MAX_TEXTUREUNITS]; // 2D and 3D } rmeshstate_t; @@ -74,11 +79,14 @@ void R_Mesh_Finish(void); int R_Mesh_CreateStaticEBO(void *data, size_t size); // frees an element array buffer object void R_Mesh_DestroyEBO(int bufferobject); -// allocates a static vertex array buffer object -// (storing vertex data in video memory) -int R_Mesh_CreateStaticVBO(void *data, size_t size); -// frees a vertex array buffer object -void R_Mesh_DestroyVBO(int bufferobject); +// allocates a static vertex/element array buffer object +// (storing vertex or element data in video memory) +// target is GL_ELEMENT_ARRAY_BUFFER_ARB (triangle elements) +// or GL_ARRAY_BUFFER_ARB (vertex data) +int R_Mesh_CreateStaticBufferObject(unsigned int target, void *data, size_t size, const char *name); +// frees a vertex/element array buffer object +void R_Mesh_DestroyBufferObject(int bufferobject); +void GL_Mesh_ListVBOs(qboolean printeach); // sets up the requested vertex transform matrix void R_Mesh_Matrix(const matrix4x4_t *matrix);