home *** CD-ROM | disk | FTP | other *** search
- #include "RendererInfo.h"
-
- #include "Gui.h"
- #include "log.h"
- #include "Renderer.h"
-
- #ifndef WIN32
- #include <string.h>
- #endif
-
- // FIXME:
- #include "LightEffectsParticleClusters.h"
- #include "Game.h"
-
-
- RendererInfoVar_t RendererInfo::var;
- RendererInfoCVar_t RendererInfo::cvar;
- RendererInfoCCmd_t RendererInfo::ccmd;
-
-
-
- bool RendererInfo::registerCVarsAndCCmds(){
- var.textureMinFilter=GL_LINEAR_MIPMAP_LINEAR;
- var.textureMagFilter=GL_LINEAR;
-
- var.clipNear=0.5f;
- cvar.renderer_clipNear=new CVarReal("renderer.clipNear", &var.clipNear, true);
- cvar.renderer_clipNear->flags |= CON_FLAG_SYSTEM;
- cvar.renderer_clipNear->setValRange(0.0f, 100000.0f);
- console->registerCVar(cvar.renderer_clipNear);
-
- var.clipFar=20000.0f;
- cvar.renderer_clipFar=new CVarReal("renderer.clipFar", &var.clipFar, true);
- cvar.renderer_clipFar->flags |= CON_FLAG_SYSTEM;
- cvar.renderer_clipFar->setValRange(0.0f, 100000.0f);
- console->registerCVar(cvar.renderer_clipFar);
-
- var.fov=70.0f;
- cvar.renderer_fov=new CVarReal("renderer.fov", &var.fov, true);
- cvar.renderer_fov->flags |= CON_FLAG_SYSTEM;
- cvar.renderer_fov->setValRange(0.0f, 180.0f);
- console->registerCVar(cvar.renderer_fov);
-
-
- var.lightingMode=3;
- cvar.renderer_lightingMode=new CVarInt("renderer.lightingMode", &var.lightingMode, true);
- cvar.renderer_lightingMode->flags |= CON_FLAG_SYSTEM;
- cvar.renderer_lightingMode->setValRange(0, NUM_LIGHTING_MODES-1);
- console->registerCVar(cvar.renderer_lightingMode);
-
- var.useDynamicLighting=true;
- cvar.renderer_useDynamicLighting=new CVarBool("renderer.useDynamicLighting", &var.useDynamicLighting, true);
- cvar.renderer_useDynamicLighting->flags |= CON_FLAG_SYSTEM;
- console->registerCVar(cvar.renderer_useDynamicLighting);
-
- var.shadeVehicles=true;
- cvar.renderer_shadeVehicles=new CVarBool("renderer.shadeVehicles", &var.shadeVehicles, true);
- cvar.renderer_shadeVehicles->flags |= CON_FLAG_SYSTEM;
- console->registerCVar(cvar.renderer_shadeVehicles);
-
- var.renderParticleEffects=3;
- cvar.renderer_renderParticleEffects=new CVarInt("renderer.renderParticleEffects", &var.renderParticleEffects, true);
- cvar.renderer_renderParticleEffects->flags |= CON_FLAG_SYSTEM;
- cvar.renderer_renderParticleEffects->setValRange(0, 3);
- console->registerCVar(cvar.renderer_renderParticleEffects);
-
-
- var.useBackfaceCulling=true;
- cvar.renderer_useBackfaceCulling=new CVarBool("renderer.useBackfaceCulling", &var.useBackfaceCulling, true);
- cvar.renderer_useBackfaceCulling->flags |= CON_FLAG_SYSTEM;
- console->registerCVar(cvar.renderer_useBackfaceCulling);
-
- var.useFrustrumCulling=true;
- cvar.renderer_useFrustrumCulling=new CVarBool("renderer.useFrustrumCulling", &var.useFrustrumCulling, true);
- cvar.renderer_useFrustrumCulling->flags |= CON_FLAG_SYSTEM;
- console->registerCVar(cvar.renderer_useFrustrumCulling);
-
- var.useFog=true;
- cvar.renderer_useFog=new CVarBool("renderer.useFog", &var.useFog, true);
- cvar.renderer_useFog->flags |= CON_FLAG_SYSTEM;
- console->registerCVar(cvar.renderer_useFog);
-
- var.renderSkybox=true;
- cvar.renderer_renderSkybox=new CVarBool("renderer.renderSkybox", &var.renderSkybox, true);
- cvar.renderer_renderSkybox->flags |= CON_FLAG_SYSTEM;
- console->registerCVar(cvar.renderer_renderSkybox);
-
- var.renderNormals=0;
- cvar.renderer_renderNormals=new CVarInt("renderer.renderNormals", &var.renderNormals, true);
- cvar.renderer_renderNormals->flags |= CON_FLAG_SYSTEM;
- cvar.renderer_renderNormals->setValRange(0,2);
- console->registerCVar(cvar.renderer_renderNormals);
-
- var.renderTris=0;
- cvar.renderer_renderTris=new CVarInt("renderer.renderTris", &var.renderTris, true);
- cvar.renderer_renderTris->flags |= CON_FLAG_SYSTEM;
- cvar.renderer_renderTris->setValRange(0,2);
- console->registerCVar(cvar.renderer_renderTris);
-
- var.renderSPTreeBorders=0;
- cvar.renderer_renderSPTreeBorders=new CVarInt("renderer.renderSPTreeBorders", &var.renderSPTreeBorders, true);
- cvar.renderer_renderSPTreeBorders->flags |= CON_FLAG_SYSTEM;
- cvar.renderer_renderSPTreeBorders->setValRange(0,2);
- console->registerCVar(cvar.renderer_renderSPTreeBorders);
-
- var.renderPVSBorders=0;
- cvar.renderer_renderPVSBorders=new CVarInt("renderer.renderPVSBorders", &var.renderPVSBorders, true);
- cvar.renderer_renderPVSBorders->flags |= CON_FLAG_SYSTEM;
- cvar.renderer_renderPVSBorders->setValRange(0,2);
- console->registerCVar(cvar.renderer_renderPVSBorders);
-
- var.renderCOSystem=0;
- cvar.renderer_renderCOSystem=new CVarInt("renderer.renderCOSystem", &var.renderCOSystem, true);
- cvar.renderer_renderCOSystem->flags |= CON_FLAG_SYSTEM;
- cvar.renderer_renderCOSystem->setValRange(0,2);
- console->registerCVar(cvar.renderer_renderCOSystem);
-
- var.renderLights=0;
- cvar.renderer_renderLights=new CVarInt("renderer.renderLights", &var.renderLights, true);
- cvar.renderer_renderLights->flags |= CON_FLAG_SYSTEM;
- cvar.renderer_renderLights->setValRange(0,1);
- console->registerCVar(cvar.renderer_renderLights);
-
- var.renderClientPositions=0;
- cvar.renderer_renderClientPositions=new CVarInt("renderer.renderClientPositions", &var.renderClientPositions, true);
- cvar.renderer_renderClientPositions->flags |= CON_FLAG_SYSTEM;
- cvar.renderer_renderClientPositions->setValRange(0,1);
- console->registerCVar(cvar.renderer_renderClientPositions);
-
- var.renderSpawnpoints=0;
- cvar.renderer_renderSpawnpoints=new CVarInt("renderer.renderSpawnpoints", &var.renderSpawnpoints, true);
- cvar.renderer_renderSpawnpoints->flags |= CON_FLAG_SYSTEM;
- cvar.renderer_renderSpawnpoints->setValRange(0,1);
- console->registerCVar(cvar.renderer_renderSpawnpoints);
-
- var.renderBoundingBoxes=0;
- cvar.renderer_renderBoundingBoxes=new CVarInt("renderer.renderBoundingBoxes", &var.renderBoundingBoxes, true);
- cvar.renderer_renderBoundingBoxes->flags |= CON_FLAG_SYSTEM;
- cvar.renderer_renderBoundingBoxes->setValRange(0,1);
- console->registerCVar(cvar.renderer_renderBoundingBoxes);
-
- var.overwriteMeshRenderMode=0;
- cvar.renderer_overwriteMeshRenderMode=new CVarInt("renderer.overwriteMeshRenderMode", &var.overwriteMeshRenderMode, true);
- cvar.renderer_overwriteMeshRenderMode->flags |= CON_FLAG_SYSTEM;
- cvar.renderer_overwriteMeshRenderMode->setValRange(0,3);
- console->registerCVar(cvar.renderer_overwriteMeshRenderMode);
-
- var.useTransparentPolysList = true;
- cvar.renderer_useTransparentPolysList=new CVarBool("renderer.useTransparentPolysList", &var.useTransparentPolysList, true);
- cvar.renderer_useTransparentPolysList->flags |= CON_FLAG_SYSTEM;
- console->registerCVar(cvar.renderer_useTransparentPolysList);
-
- var.globalAmbientLight=new GLfloat[4];
- vectorInit4d(0.2f, 0.2f, 0.2f, 1.0f, var.globalAmbientLight);
- cvar.renderer_globalAmbientLight=new CVarRealVector("renderer.globalAmbientLight", &var.globalAmbientLight, 4, true);
- cvar.renderer_globalAmbientLight->flags |= CON_FLAG_SYSTEM;
- cvar.renderer_globalAmbientLight->setValRange(0.0f, 1.0f);
- console->registerCVar(cvar.renderer_globalAmbientLight);
-
- // Extensions
- // var.useCompiledVertexArrays=false;
- // cvar.renderer_useCompiledVertexArrays=new CVarBool("renderer.useCompiledVertexArrays", &var.useCompiledVertexArrays, true);
- // console->registerCVar(cvar.renderer_useCompiledVertexArrays);
-
- // var.useMultitexturing=false;
- // cvar.renderer_useMultitexturing=new CVarBool("renderer.useMultitexturing", &var.useMultitexturing, true);
- // console->registerCVar(cvar.renderer_useMultitexturing);
-
- var.useVBOs=false;
- cvar.renderer_useVBOs=new CVarBool("renderer.useVBOs", &var.useVBOs, true);
- cvar.renderer_useVBOs->flags |= CON_FLAG_SYSTEM;
- cvar.renderer_useVBOs->changeStr = "(changes will only affect newly loaded models!)";
- console->registerCVar(cvar.renderer_useVBOs);
-
-
- var.textureSearchPath=new char[CON_MAX_STRING_LENGTH];
- strcpy(var.textureSearchPath, "gui/fonts;arenas/shared/skyboxes;arenas/shared/textures;arenas/shared/shaders");
- cvar.renderer_textureSearchPath=new CVarString("renderer.textureSearchPath", &var.textureSearchPath, true);
- cvar.renderer_textureSearchPath->flags |= CON_FLAG_SYSTEM;
- console->registerCVar(cvar.renderer_textureSearchPath);
-
- var.textureExtensions=new char[CON_MAX_STRING_LENGTH];
- strcpy(var.textureExtensions, ".tga;.jpg;.jpeg;.bmp;.png;.gif");
- cvar.renderer_textureExtensions=new CVarString("renderer.textureExtensions", &var.textureExtensions, true);
- cvar.renderer_textureExtensions->flags |= CON_FLAG_SYSTEM;
- console->registerCVar(cvar.renderer_textureExtensions);
-
- return true;
- }
-
- bool RendererInfo::unregisterCVarsAndCCmds(){
-
- console->unregisterCVar(cvar.renderer_clipNear);
- delete cvar.renderer_clipNear;
- console->unregisterCVar(cvar.renderer_clipFar);
- delete cvar.renderer_clipFar;
- console->unregisterCVar(cvar.renderer_fov);
- delete cvar.renderer_fov;
- console->unregisterCVar(cvar.renderer_lightingMode);
- delete cvar.renderer_lightingMode;
- console->unregisterCVar(cvar.renderer_useDynamicLighting);
- delete cvar.renderer_useDynamicLighting;
- console->unregisterCVar(cvar.renderer_shadeVehicles);
- delete cvar.renderer_shadeVehicles;
- console->unregisterCVar(cvar.renderer_useBackfaceCulling);
- delete cvar.renderer_useBackfaceCulling;
- console->unregisterCVar(cvar.renderer_useFrustrumCulling);
- delete cvar.renderer_useFrustrumCulling;
- console->unregisterCVar(cvar.renderer_useFog);
- delete cvar.renderer_useFog;
- console->unregisterCVar(cvar.renderer_renderSkybox);
- delete cvar.renderer_renderSkybox;
- console->unregisterCVar(cvar.renderer_renderNormals);
- delete cvar.renderer_renderNormals;
- console->unregisterCVar(cvar.renderer_renderTris);
- delete cvar.renderer_renderTris;
- console->unregisterCVar(cvar.renderer_renderSPTreeBorders);
- delete cvar.renderer_renderSPTreeBorders;
- console->unregisterCVar(cvar.renderer_renderPVSBorders);
- delete cvar.renderer_renderPVSBorders;
- console->unregisterCVar(cvar.renderer_renderCOSystem);
- delete cvar.renderer_renderCOSystem;
- console->unregisterCVar(cvar.renderer_renderLights);
- delete cvar.renderer_renderLights;
- console->unregisterCVar(cvar.renderer_renderClientPositions);
- delete cvar.renderer_renderClientPositions;
- console->unregisterCVar(cvar.renderer_renderSpawnpoints);
- delete cvar.renderer_renderSpawnpoints;
- console->unregisterCVar(cvar.renderer_renderBoundingBoxes);
- delete cvar.renderer_renderBoundingBoxes;
- console->unregisterCVar(cvar.renderer_overwriteMeshRenderMode);
- delete cvar.renderer_overwriteMeshRenderMode;
- console->unregisterCVar(cvar.renderer_useTransparentPolysList);
- delete cvar.renderer_useTransparentPolysList;
- console->unregisterCVar(cvar.renderer_globalAmbientLight);
- delete cvar.renderer_globalAmbientLight;
- delete[] var.globalAmbientLight;
- // console->unregisterCVar(cvar.renderer_useCompiledVertexArrays);
- // delete cvar.renderer_useCompiledVertexArrays;
- // console->unregisterCVar(cvar.renderer_useMultitexturing);
- // delete cvar.renderer_useMultitexturing;
- console->unregisterCVar(cvar.renderer_textureSearchPath);
- delete cvar.renderer_textureSearchPath;
- delete[] var.textureSearchPath;
- console->unregisterCVar(cvar.renderer_textureExtensions);
- delete cvar.renderer_textureExtensions;
- delete[] var.textureExtensions;
-
- return true;
- }
-