aboutsummaryrefslogtreecommitdiffstats
path: root/code/renderer/tr_local.h
diff options
context:
space:
mode:
authorthilo <thilo@edf5b092-35ff-0310-97b2-ce42778d08ea>2008-04-27 17:32:14 +0000
committerthilo <thilo@edf5b092-35ff-0310-97b2-ce42778d08ea>2008-04-27 17:32:14 +0000
commita1757f0abe8b9780d4c85415bc0fc9af1af31ff2 (patch)
treea84aba4e58244abb55e324cda0fdd04774ce1cca /code/renderer/tr_local.h
parent7eec87380d6b4bbf0ffa4f8ea258b8853c0428bc (diff)
downloadioquake3-aero-a1757f0abe8b9780d4c85415bc0fc9af1af31ff2.tar.gz
ioquake3-aero-a1757f0abe8b9780d4c85415bc0fc9af1af31ff2.zip
- Implement stereo rendering with anaglyph images.
- Add r_greyscale for black&white rendering git-svn-id: svn://svn.icculus.org/quake3/trunk@1328 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'code/renderer/tr_local.h')
-rw-r--r--code/renderer/tr_local.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/code/renderer/tr_local.h b/code/renderer/tr_local.h
index ec5ff91..d55c4d2 100644
--- a/code/renderer/tr_local.h
+++ b/code/renderer/tr_local.h
@@ -433,6 +433,8 @@ typedef struct {
vec3_t vieworg;
vec3_t viewaxis[3]; // transformation matrix
+ stereoFrame_t stereoFrame;
+
int time; // time in milliseconds for shader effects and other time dependent rendering issues
int rdflags; // RDF_NOWORLDMODEL, etc
@@ -504,6 +506,7 @@ typedef struct {
cplane_t frustum[4];
vec3_t visBounds[2];
float zFar;
+ stereoFrame_t stereoFrame;
} viewParms_t;
@@ -996,6 +999,8 @@ extern cvar_t *r_verbose; // used for verbose debug spew
extern cvar_t *r_ignoreFastPath; // allows us to ignore our Tess fast paths
extern cvar_t *r_znear; // near Z clip plane
+extern cvar_t *r_zproj; // z distance of projection plane
+extern cvar_t *r_stereoSeparation; // separation of cameras for stereo rendering
extern cvar_t *r_stencilbits; // number of desired stencil bits
extern cvar_t *r_depthbits; // number of desired depth bits
@@ -1088,6 +1093,11 @@ extern cvar_t *r_smp;
extern cvar_t *r_showSmp;
extern cvar_t *r_skipBackEnd;
+extern cvar_t *r_stereoEnabled;
+extern cvar_t *r_anaglyphMode;
+
+extern cvar_t *r_greyscale;
+
extern cvar_t *r_ignoreGLErrors;
extern cvar_t *r_overBrightBits;
@@ -1136,6 +1146,7 @@ int R_CullLocalBox (vec3_t bounds[2]);
int R_CullPointAndRadius( vec3_t origin, float radius );
int R_CullLocalPointAndRadius( vec3_t origin, float radius );
+void R_SetupProjection(viewParms_t *dest, float zProj, qboolean computeFrustum);
void R_RotateForEntity( const trRefEntity_t *ent, const viewParms_t *viewParms, orientationr_t *or );
/*
@@ -1614,6 +1625,18 @@ typedef struct {
qboolean motionJpeg;
} videoFrameCommand_t;
+typedef struct
+{
+ int commandId;
+
+ GLboolean rgba[4];
+} colorMaskCommand_t;
+
+typedef struct
+{
+ int commandId;
+} clearDepthCommand_t;
+
typedef enum {
RC_END_OF_LIST,
RC_SET_COLOR,
@@ -1622,7 +1645,9 @@ typedef enum {
RC_DRAW_BUFFER,
RC_SWAP_BUFFERS,
RC_SCREENSHOT,
- RC_VIDEOFRAME
+ RC_VIDEOFRAME,
+ RC_COLORMASK,
+ RC_CLEARDEPTH
} renderCommand_t;