X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=dpsoftrast.h;h=3f267a2e669d191e69a69ae12b5f4ed3c2d1e05b;hb=1a606ca4c462e8a9a76cd5e7e085efbecbe90009;hp=7d9ecef05887d06148e938cafce79d957fb41880;hpb=fd09aca70c81a313ea7e7e6eba3756aa37d2173f;p=xonotic%2Fdarkplaces.git diff --git a/dpsoftrast.h b/dpsoftrast.h index 7d9ecef0..3f267a2e 100644 --- a/dpsoftrast.h +++ b/dpsoftrast.h @@ -14,13 +14,15 @@ #define DPSOFTRAST_TEXTURE_FORMAT_DEPTH 1 #define DPSOFTRAST_TEXTURE_FORMAT_RGBA8 2 #define DPSOFTRAST_TEXTURE_FORMAT_ALPHA8 3 -#define DPSOFTRAST_TEXTURE_FORMAT_COMPAREMASK 3 +#define DPSOFTRAST_TEXTURE_FORMAT_RGBA16F 4 +#define DPSOFTRAST_TEXTURE_FORMAT_RGBA32F 5 +#define DPSOFTRAST_TEXTURE_FORMAT_COMPAREMASK 0x0F // modifier flags for texture (can not be changed after creation) -#define DPSOFTRAST_TEXTURE_FLAG_MIPMAP 4 -#define DPSOFTRAST_TEXTURE_FLAG_CUBEMAP 8 -#define DPSOFTRAST_TEXTURE_FLAG_USEALPHA 16 -#define DPSOFTRAST_TEXTURE_FLAG_CLAMPTOEDGE 32 +#define DPSOFTRAST_TEXTURE_FLAG_MIPMAP 0x10 +#define DPSOFTRAST_TEXTURE_FLAG_CUBEMAP 0x20 +#define DPSOFTRAST_TEXTURE_FLAG_USEALPHA 0x40 +#define DPSOFTRAST_TEXTURE_FLAG_CLAMPTOEDGE 0x80 typedef enum DPSOFTRAST_TEXTURE_FILTER_e { @@ -54,6 +56,7 @@ void DPSOFTRAST_ColorMask(int r, int g, int b, int a); void DPSOFTRAST_DepthTest(int enable); void DPSOFTRAST_ScissorTest(int enable); void DPSOFTRAST_Scissor(float x, float y, float width, float height); +void DPSOFTRAST_ClipPlane(float x, float y, float z, float w); void DPSOFTRAST_BlendFunc(int smodulate, int dmodulate); void DPSOFTRAST_BlendSubtract(int enable); @@ -62,8 +65,6 @@ 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(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); void DPSOFTRAST_CopyRectangleToTexture(int index, int mip, int tx, int ty, int sx, int sy, int width, int height); @@ -193,8 +194,9 @@ typedef enum shaderpermutation_e SHADERPERMUTATION_NORMALMAPSCROLLBLEND = 1<<27, ///< (water) counter-direction normalmaps scrolling SHADERPERMUTATION_BOUNCEGRID = 1<<28, ///< (lightmap) use Texture_BounceGrid as an additional source of ambient light SHADERPERMUTATION_BOUNCEGRIDDIRECTIONAL = 1<<29, ///< (lightmap) use 16-component pixels in bouncegrid texture for directional lighting rather than standard 4-component - SHADERPERMUTATION_LIMIT = 1<<30, ///< size of permutations array - SHADERPERMUTATION_COUNT = 30 ///< size of shaderpermutationinfo array + SHADERPERMUTATION_TRIPPY = 1<<30, ///< use trippy vertex shader effect + SHADERPERMUTATION_LIMIT = 1<<31, ///< size of permutations array + SHADERPERMUTATION_COUNT = 31 ///< size of shaderpermutationinfo array } shaderpermutation_t; @@ -310,7 +312,7 @@ typedef enum DPSOFTRAST_UNIFORM_e } DPSOFTRAST_UNIFORM; -void DPSOFTRAST_SetShader(int mode, int permutation); +void DPSOFTRAST_SetShader(int mode, int permutation, int exactspecularmath); #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)