mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-05-03 15:32:45 +00:00
r_opengl: add PF_WireFrame and SHADER_NONE
Draw lines instead of tris and disable shader entirely.
This commit is contained in:
parent
7719cf27fa
commit
0a7ad42c53
2 changed files with 10 additions and 2 deletions
|
|
@ -133,6 +133,7 @@ typedef struct
|
||||||
// Predefined shader types
|
// Predefined shader types
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
SHADER_NONE = -1,
|
||||||
SHADER_DEFAULT = 0,
|
SHADER_DEFAULT = 0,
|
||||||
|
|
||||||
SHADER_FLOOR,
|
SHADER_FLOOR,
|
||||||
|
|
@ -235,7 +236,8 @@ enum EPolyFlags
|
||||||
PF_RemoveYWrap = 0x00010000, // Forces clamp texture on Y
|
PF_RemoveYWrap = 0x00010000, // Forces clamp texture on Y
|
||||||
PF_ForceWrapX = 0x00020000, // Forces repeat texture on X
|
PF_ForceWrapX = 0x00020000, // Forces repeat texture on X
|
||||||
PF_ForceWrapY = 0x00040000, // Forces repeat texture on Y
|
PF_ForceWrapY = 0x00040000, // Forces repeat texture on Y
|
||||||
PF_Ripple = 0x00100000 // Water ripple effect. The current backend doesn't use it for anything.
|
PF_Ripple = 0x00100000, // Water ripple effect. The current backend doesn't use it for anything.
|
||||||
|
PF_WireFrame = 0x00200000, // Draws vertices as lines instead of triangles
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1061,6 +1061,12 @@ EXPORT void HWRAPI(LoadCustomShader) (int number, char *code, size_t size, boole
|
||||||
EXPORT void HWRAPI(SetShader) (int type)
|
EXPORT void HWRAPI(SetShader) (int type)
|
||||||
{
|
{
|
||||||
#ifdef GL_SHADERS
|
#ifdef GL_SHADERS
|
||||||
|
if (type == SHADER_NONE)
|
||||||
|
{
|
||||||
|
HWRAPI(UnSetShader)();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (gl_allowshaders != HWD_SHADEROPTION_OFF)
|
if (gl_allowshaders != HWD_SHADEROPTION_OFF)
|
||||||
{
|
{
|
||||||
gl_shader_t *shader = gl_shaderstate.current;
|
gl_shader_t *shader = gl_shaderstate.current;
|
||||||
|
|
@ -2319,7 +2325,7 @@ EXPORT void HWRAPI(DrawPolygon) (FSurfaceInfo *pSurf, FOutVector *pOutVerts, FUI
|
||||||
|
|
||||||
pglVertexPointer(3, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].x);
|
pglVertexPointer(3, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].x);
|
||||||
pglTexCoordPointer(2, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].s);
|
pglTexCoordPointer(2, GL_FLOAT, sizeof(FOutVector), &pOutVerts[0].s);
|
||||||
pglDrawArrays(GL_TRIANGLE_FAN, 0, iNumPts);
|
pglDrawArrays(PolyFlags & PF_WireFrame ? GL_LINES : GL_TRIANGLE_FAN, 0, iNumPts);
|
||||||
|
|
||||||
if (PolyFlags & PF_RemoveYWrap)
|
if (PolyFlags & PF_RemoveYWrap)
|
||||||
pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
|
pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue