|
| 1 | +# Versteckte Grafik-Features in der Q3Rally-Engine (Code-Audit) |
| 2 | + |
| 3 | +## Methode |
| 4 | +- Als **sichtbar im Menü** gelten Cvars, die in `ui_video.c` (Graphics) oder `ui_advanced_graphics.c` (Advanced Graphics) gesetzt/gelesen werden. |
| 5 | +- Als **versteckt** gelten Renderer-Cvars aus `renderergl1/tr_init.c` und `renderergl2/tr_init.c`, die in diesen Menüs nicht auftauchen. |
| 6 | + |
| 7 | +## Bereits im Menü sichtbar (nicht versteckt) |
| 8 | +- Klassisches Grafikmenü: Auflösung/Fullscreen/Farbtiefe/Texturebits, LOD-Geometrie, Texture-Filter, Aniso, MSAA, Sun Shadows + Shadow Quality. |
| 9 | +- Advanced-Menü: HDR, PostProcess, ToneMap, AutoExposure, SSAO, Sun Rays, Dynamic Reflections. |
| 10 | + |
| 11 | +## Versteckte Features (nicht im Grafikmenü) |
| 12 | + |
| 13 | +### 1) Starke Upgrade-Hebel (visuelle Qualität) |
| 14 | +- `r_pbr` |
| 15 | +- `r_normalMapping` |
| 16 | +- `r_specularMapping` |
| 17 | +- `r_deluxeMapping` |
| 18 | +- `r_parallaxMapping` |
| 19 | +- `r_parallaxMapOffset` |
| 20 | +- `r_parallaxMapShadows` |
| 21 | +- `r_deluxeSpecular` |
| 22 | +- `r_baseNormalX`, `r_baseNormalY` |
| 23 | +- `r_baseParallax` |
| 24 | +- `r_baseSpecular` |
| 25 | +- `r_baseGloss` |
| 26 | +- `r_glossType` |
| 27 | +- `r_cubeMapping` |
| 28 | +- `r_cubemapSize` |
| 29 | +- `r_sunlightMode` |
| 30 | +- `r_shadowBlur` |
| 31 | +- `r_shadowCascadeZNear`, `r_shadowCascadeZFar`, `r_shadowCascadeZBias` |
| 32 | +- `r_pshadowDist` |
| 33 | +- `r_ext_framebuffer_object` |
| 34 | +- `r_ext_texture_float` |
| 35 | +- `r_ext_framebuffer_multisample` (wird teils intern gesetzt, aber nicht als eigenes UI-Feature geführt) |
| 36 | +- `r_arb_seamless_cube_map` |
| 37 | +- `r_floatLightmap` |
| 38 | +- `r_depthPrepass` |
| 39 | +- `r_mergeLightmaps` |
| 40 | +- `r_imageUpsample`, `r_imageUpsampleMaxSize`, `r_imageUpsampleType` |
| 41 | +- `r_genNormalMaps` |
| 42 | + |
| 43 | +### 2) Mittlere Upgrade-Hebel / Feintuning |
| 44 | +- `r_overBrightBits` |
| 45 | +- `r_roundImagesDown` |
| 46 | +- `r_simpleMipMaps` |
| 47 | +- `r_detailtextures` |
| 48 | +- `r_lodCurveError`, `r_lodbias`, `r_lodscale` |
| 49 | +- `r_gamma` |
| 50 | +- `r_ext_compressed_textures` |
| 51 | +- `r_ext_multitexture` |
| 52 | +- `r_ext_compiled_vertex_array` |
| 53 | +- `r_ext_texture_env_add` |
| 54 | +- `r_externalGLSL` |
| 55 | +- `r_arb_vertex_array_object` |
| 56 | +- `r_ext_direct_state_access` |
| 57 | +- `r_vaoCache` |
| 58 | + |
| 59 | +### 3) Atmosphärisch/„Look“ (situativ) |
| 60 | +- `r_forceSun`, `r_forceSunLightScale`, `r_forceSunAmbientScale` |
| 61 | +- `r_drawSun` |
| 62 | +- `r_dynamiclight`, `r_dlightBacks`, `r_dlightMode` |
| 63 | +- `r_fastsky` |
| 64 | +- `r_greyscale` |
| 65 | +- `r_inGameVideo` |
| 66 | + |
| 67 | +### 4) Performance/Kompatibilität/Präsentation |
| 68 | +- `r_swapInterval` |
| 69 | +- `r_displayRefresh` |
| 70 | +- `r_noborder` |
| 71 | +- `r_customPixelAspect` |
| 72 | +- `r_primitives` |
| 73 | +- `r_ignoreFastPath` |
| 74 | +- `r_ignoreGLErrors` |
| 75 | +- `r_ignorehwgamma` |
| 76 | +- `r_ignoreDstAlpha` |
| 77 | +- `r_marksOnTriangleMeshes` |
| 78 | +- `r_aviMotionJpegQuality`, `r_screenshotJpegQuality` |
| 79 | +- `r_maxpolys`, `r_maxpolyverts` |
| 80 | +- `r_stereoEnabled`, `r_stereoSeparation`, `r_anaglyphMode` |
| 81 | + |
| 82 | +### 5) Debug-/Diagnose-Cvars (keine echten Upgrade-Hebel) |
| 83 | +- `r_showImages` |
| 84 | +- `r_debuglight`, `r_debugSort` |
| 85 | +- `r_measureOverdraw` |
| 86 | +- `r_logFile`, `r_verbose` |
| 87 | +- `r_printShaders`, `r_saveFontData` |
| 88 | +- `r_offsetfactor`, `r_offsetunits`, `r_drawBuffer` |
| 89 | +- `r_ignore` |
| 90 | +- `r_ambientScale`, `r_directedScale` |
| 91 | +- `r_znear`, `r_zproj` |
| 92 | +- `r_railWidth`, `r_railCoreWidth`, `r_railSegmentLength` |
| 93 | +- `r_uifullscreen` |
| 94 | + |
| 95 | + |
| 96 | +## Schatten-spezifischer Gap zum **ADVANCED GRAPHICS** Menü |
| 97 | + |
| 98 | +### Bereits abgedeckt (aber im klassischen Graphics-Menü, nicht in Advanced) |
| 99 | +- `r_sunShadows` (On/Off) |
| 100 | +- `r_shadowFilter` (indirekt über Shadow Quality) |
| 101 | +- `r_shadowMapSize` (indirekt über Shadow Quality) |
| 102 | + |
| 103 | +### In Advanced Graphics **noch nicht integriert** |
| 104 | +- `r_shadowBlur` |
| 105 | +- `r_shadowCascadeZNear` |
| 106 | +- `r_shadowCascadeZFar` |
| 107 | +- `r_shadowCascadeZBias` |
| 108 | +- `r_pshadowDist` |
| 109 | +- `r_sunlightMode` |
| 110 | + |
| 111 | +### Einordnung |
| 112 | +- Derzeit steuert `ui_advanced_graphics.c` nur post-processing-nahe Features (`r_drawSunRays` etc.), aber keine dedizierten Shadow-Cascade/Blur-Parameter. |
| 113 | +- Schatten-Controls liegen heute primär im klassischen `ui_video.c` (Sun Shadows + Quality-Mapping auf Filter/MapSize). |
| 114 | + |
| 115 | +## Vollständige versteckte Cvar-Liste (Audit-Output) |
| 116 | +`r_ambientScale`, `r_anaglyphMode`, `r_arb_seamless_cube_map`, `r_arb_vertex_array_object`, `r_aviMotionJpegQuality`, `r_baseGloss`, `r_baseNormalX`, `r_baseNormalY`, `r_baseParallax`, `r_baseSpecular`, `r_cameraExposure`, `r_cubeMapping`, `r_cubemapSize`, `r_customPixelAspect`, `r_debugSort`, `r_debuglight`, `r_deluxeMapping`, `r_deluxeSpecular`, `r_depthPrepass`, `r_detailtextures`, `r_directedScale`, `r_displayRefresh`, `r_dlightBacks`, `r_dlightMode`, `r_drawBuffer`, `r_drawSun`, `r_ext_compiled_vertex_array`, `r_ext_compressed_textures`, `r_ext_direct_state_access`, `r_ext_framebuffer_object`, `r_ext_multitexture`, `r_ext_texture_env_add`, `r_ext_texture_float`, `r_externalGLSL`, `r_floatLightmap`, `r_forceAutoExposure`, `r_forceAutoExposureMax`, `r_forceAutoExposureMin`, `r_forceSun`, `r_forceSunAmbientScale`, `r_forceSunLightScale`, `r_forceToneMap`, `r_forceToneMapAvg`, `r_forceToneMapMax`, `r_forceToneMapMin`, `r_genNormalMaps`, `r_glossType`, `r_greyscale`, `r_ignore`, `r_ignoreDstAlpha`, `r_ignoreFastPath`, `r_ignoreGLErrors`, `r_ignorehwgamma`, `r_imageUpsample`, `r_imageUpsampleMaxSize`, `r_imageUpsampleType`, `r_inGameVideo`, `r_lodCurveError`, `r_lodbias`, `r_lodscale`, `r_logFile`, `r_marksOnTriangleMeshes`, `r_maxpolys`, `r_maxpolyverts`, `r_measureOverdraw`, `r_mergeLightmaps`, `r_noborder`, `r_normalMapping`, `r_offsetfactor`, `r_offsetunits`, `r_parallaxMapOffset`, `r_parallaxMapShadows`, `r_parallaxMapping`, `r_pbr`, `r_primitives`, `r_printShaders`, `r_pshadowDist`, `r_railCoreWidth`, `r_railSegmentLength`, `r_railWidth`, `r_saveFontData`, `r_screenshotJpegQuality`, `r_shadowBlur`, `r_shadowCascadeZBias`, `r_shadowCascadeZFar`, `r_shadowCascadeZNear`, `r_showImages`, `r_simpleMipMaps`, `r_specularMapping`, `r_stereoEnabled`, `r_stereoSeparation`, `r_sunlightMode`, `r_swapInterval`, `r_uifullscreen`, `r_vaoCache`, `r_verbose`, `r_znear`, `r_zproj`. |
| 117 | + |
| 118 | +## Kurzfazit |
| 119 | +Die größten Hebel für ein sichtbares Grafik-Upgrade liegen im GL2-Feature-Block: Materialsystem (Normal/Specular/Parallax/PBR), Schatten-Kaskaden + Blur, Cubemaps/Reflections sowie Upsampling/Lightmap-Pfade. |
0 commit comments