Take the rest of feat/opengl-vulkan's settings

What the merge left out, now on this branch's own six levels:
- GraphicsRules, which say what a renderer or an anti-aliasing mode rules out,
  and the notes that show it
- the settings split into Graphics and Effects tabs
- the DLSS library check beside the exe
- eu07.ini import and export
- one list of renderers: the backend follows from the renderer chosen

The post-processing part of the levels is gone, as three switches cannot tell six
levels apart. Bloom goes with the whole level.

Still a transitional variant. The old renderers, their keys and their rows stay
on the page, as the exe a player runs may be an old one or may have no Vulkan.
That branch's five-level list and its removal of the old renderers stay out.
This commit is contained in:
maj00r
2026-11-01 20:54:01 +01:00
parent 0d2e5de110
commit a7c9cdb97f
25 changed files with 2513 additions and 838 deletions

View File

@@ -413,11 +413,7 @@
<String key="Graphic">Graphics</String>
<String key="RenderEngine">Render engine</String>
<String key="RenderEngineDesc">Full: OpenGL with shadows and reflections, OpenGL 4.6 in the new simulator. Old, Simplified, Experimental: older simulator versions, the new one starts Full. Vulkan 1.4: if the exe lacks it or the card cannot run it, the new version starts OpenGL and an older one Old.</String>
<String key="REFull">Full</String>
<String key="REOld">Old</String>
<String key="RESimp">Simplified</String>
<String key="REExperimental">Experimental</String>
<String key="RenderEngineDesc">Full works with every exe. Old, Simplified and Experimental only with older ones; a new exe starts Full instead.</String>
<String key="REExperimentalWarning">Note: the experimental renderer is still being developed. It may be unstable, miss parts of the scene or not start on some graphics cards. If the simulator does not start or looks wrong, go back to the “Full” renderer.</String>
<String key="GpuChoice">Graphics card (Linux)</String>
<String key="GpuDiscrete">Faster (discrete)</String>
@@ -444,8 +440,6 @@
<String key="MaxTexCabResolution">Maximum cabin texture resolution</String>
<String key="TexFilteringQuality">Texture filtering quality</String>
<String key="TexFilteringQualityDesc">Sharpness of textures seen at an angle, such as tracks. Even x16 costs little.</String>
<String key="Multisampling">Multisampling</String>
<String key="MultisamplingDesc">Smooths edges. Every step costs noticeable frames.</String>
<String key="QualityVeryLow">Very low</String>
<String key="QualityLow">Low</String>
<String key="QualityNormal">Normal</String>
@@ -472,8 +466,6 @@
<String key="ShadowAngleLimitDesc">Shortens the long shadows cast by a low sun. Higher values cut them sooner.</String>
<String key="ShadowLimitShort">Shortened</String>
<String key="FullscreenWindowed">Automatic resolution (borderless fullscreen)</String>
<String key="RenderAngleVulkan">Use ANGLE Vulkan renderer</String>
<String key="RenderAngleVulkanDesc">Runs the ANGLE renderer on Vulkan instead of the default backend. Useful when OpenGL misbehaves.</String>
<String key="VSync">VSync</String>
<String key="VSyncDesc">Synchronizes frame rate with the monitor refresh rate.</String>
<String key="SmokeDisplay">Smoke display</String>
@@ -486,8 +478,6 @@
<String key="ReflectionsCubeMapDesc">Renders reflections into a cube map, so surfaces mirror the surroundings from every direction.</String>
<String key="SkipPipeline">Simplified depth read (compatibility)</String>
<String key="SkipPipelineDesc">Alternative depth-buffer read path with MSAA; enable it if your GPU has compatibility issues.</String>
<String key="RenderVBO">Render VBO</String>
<String key="RenderVBODesc">Keeps geometry in GPU buffers (faster). Disable only if you have problems with an old GPU.</String>
<String key="RenderShadows">Render shadows</String>
<String key="ReflectionsFramerate">Reflections refresh rate</String>
<String key="ReflectionsFramerateDesc">How often reflections refresh. Less often means more frames.</String>
@@ -497,8 +487,6 @@
<String key="ShadowsResolution">Shadows resolution</String>
<String key="ShaderRange">Shadow range</String>
<String key="ShaderRangeDesc">How far shadows reach; the further, the softer. After the arrow: the real reach.</String>
<String key="CabShadowsRange">Cabin shadow sources range</String>
<String key="CabShadowsRangeDesc">Distance at which light sources still cast shadows inside the cab. Zero turns cab shadows off.</String>
<String key="ShadowDisplay">Display shadows</String>
<String key="ShadowDisplayDesc">Sets which objects cast shadows based on material priority. Lower value = fewer shadows, higher performance.</String>
@@ -556,8 +544,6 @@
<String key="CompressTextures">Compress TGA textures</String>
<String key="ScaleSpeculars">Scale specular highlights (old-model compatibility)</String>
<String key="ScaleSpecularsDesc">Tones down the shine of models made for older renderers.</String>
<String key="UseGLES">Use OpenGL ES</String>
<String key="UseGLESDesc">OpenGL ES instead of OpenGL. Does not work with the legacy renderer.</String>
<String key="ShaderGamma">Gamma correction in shaders</String>
<String key="ShaderGammaDesc">Gamma in the shaders instead of sRGB. For when a driver gives too bright or dark a picture.</String>
<String key="ScreenMipmaps">Generate mipmaps for in-cab (Python) screen textures</String>
@@ -704,7 +690,6 @@
<String key="GfxColResolution">Picture</String>
<String key="GfxColRendering">Renderer</String>
<String key="GfxColShadows">Shadows</String>
<String key="GfxColEffects">Effects</String>
<String key="GfxColTextures">Textures and anti-aliasing</String>
<String key="GfxColDrawRange">Draw distance</String>
<String key="GfxColSmoothness">Smoothness</String>
@@ -1099,81 +1084,113 @@
<String key="GfxGroupLevelTip">Level for this part of the graphics only</String>
<String key="REVulkan">Vulkan 1.4</String>
<String key="IdleVulkanOnly">Works with Vulkan only.</String>
<String key="GfxColNewRenderer">New renderer (OpenGL 4.6, Vulkan)</String>
<String key="Ini.gfx.antialiasing">TAA / DLSS anti-aliasing</String>
<String key="Ini.gfx.antialiasing.Desc">Replaces MSAA. TAA smooths the whole image at the cost of slight blur. DLSS and DLAA need Vulkan and an NVIDIA RTX card.</String>
<String key="Ini.gfx.dlss.preset">DLSS preset</String>
<String key="Ini.gfx.dlss.preset.Desc">The model DLSS rebuilds the image with. The DLSS mode follows the buffer scale: about 67% Quality, 50% Performance, 33% Ultra Performance.</String>
<String key="Ini.gfx.framegeneration">Frame generation</String>
<String key="Ini.gfx.framegeneration.Desc">Extra frames between the drawn ones. With DLSS or DLAA only. x3 and x4 need an RTX 50 card.</String>
<String key="Ini.gfx.reflex">NVIDIA Reflex</String>
<String key="Ini.gfx.reflex.Desc">Less delay between the controls and the image.</String>
<String key="Ini.gfx.raytracing">Ray traced reflections</String>
<String key="Ini.gfx.raytracing.Desc">Fills in reflections where SSR finds nothing. The card needs ray query.</String>
<String key="Ini.gfx.raytracing.range">Ray tracing range</String>
<String key="Ini.gfx.vulkan.device">Graphics card (Vulkan)</String>
<String key="Ini.gfx.vulkan.device.Desc">A card's number from the list in the log, or part of its name, like RTX. Empty: chosen automatically.</String>
<String key="Ini.gfx.ssr">Screen space reflections (SSR)</String>
<String key="Ini.gfx.ssr.Desc">Reflections of what is on screen, on wet and smooth surfaces.</String>
<String key="Ini.gfx.postfx.ao">Ambient occlusion</String>
<String key="Ini.gfx.postfx.ao.Desc">Darkens corners and places where surfaces meet. GTAO is more accurate than SSAO.</String>
<String key="Ini.gfx.postfx.ao.quality">Occlusion quality</String>
<String key="Ini.gfx.postfx.ao.lighting">Occlusion in ambient light</String>
<String key="Ini.gfx.postfx.ao.lighting.Desc">GTAO only. Darkens ambient light and reflections, sun and lamps stay bright. Off: multiplies the finished image, cheaper.</String>
<String key="Ini.gfx.lights.clustered">Clustered lighting</String>
<String key="Ini.gfx.lights.clustered.Desc">Vehicle lights and street lamps with no limit on their number. Needed for scenery lamps and the cab lamp.</String>
<String key="Ini.gfx.lights.shadows">Lamp and headlight shadows</String>
<String key="Ini.gfx.lights.shadows.Desc">Shadows cast by the cab lamp, street lamps and vehicle headlights.</String>
<String key="Ini.gfx.contactshadows">Contact shadows</String>
<String key="Ini.gfx.contactshadows.Desc">Small shadows where objects touch, which the shadow map misses.</String>
<String key="Ini.gfx.shadow.sdsm">Shadow cascades fitted to the scene (SDSM)</String>
<String key="Ini.gfx.shadow.sdsm.Desc">Spreads the sun shadow resolution over what is actually in view.</String>
<String key="Ini.gfx.cabprobe">Cab probe</String>
<String key="Ini.gfx.cabprobe.Desc">Light bounced off the cab walls and reflections of the interior in the windows.</String>
<String key="Ini.gfx.cabprobe.interval">Refresh the probe every N frames</String>
<String key="Ini.gfx.cabprobe.reflections">Cab reflects itself</String>
<String key="Ini.gfx.cabprobe.reflections.Desc">The windows show the cab interior instead of the sky where SSR finds nothing.</String>
<String key="Ini.gfx.cabprobe.bounce">Cab lamp light bounce</String>
<String key="Ini.gfx.cabprobe.bounce.Desc">How much of the lamp's light reflected off the walls lights the cab again. Works with the cab probe.</String>
<String key="Ini.gfx.fog">Fog</String>
<String key="Ini.gfx.fog.Desc">Volumetric: with sun rays, cloud shadows and lamp light. Analytic: simpler and cheaper.</String>
<String key="Ini.gfx.fog.quality">Fog quality</String>
<String key="Ini.gfx.clouds">Volumetric clouds</String>
<String key="Ini.gfx.clouds.shadows">Cloud shadows on the ground</String>
<String key="Ini.gfx.grass">Grass</String>
<String key="Ini.gfx.grass.distance">Grass range</String>
<String key="Ini.gfx.grass.fadedistance">Grass fades out at</String>
<String key="Ini.gfx.grass.density">Grass density</String>
<String key="Ini.gfx.precipitation.particles">Precipitation (particles)</String>
<String key="Ini.gfx.precipitation.particles.Desc">Number of raindrops and snowflakes in the heaviest precipitation.</String>
<String key="Ini.gfx.postfx.bloom">Glow of bright areas (bloom)</String>
<String key="Ini.gfx.postfx.autoexposure">Automatic exposure</String>
<String key="Ini.gfx.postfx.autoexposure.Desc">Image brightness adapts to the scene, for instance entering a tunnel.</String>
<String key="IniWord.same">As MSAA above</String>
<String key="IniWord.no">Off</String>
<String key="IniWord.off">Off</String>
<String key="IniWord.low">Low</String>
<String key="IniWord.medium">Medium</String>
<String key="IniWord.high">High</String>
<String key="IniWord.ultra">Ultra</String>
<String key="IniWord.on">On</String>
<String key="IniWord.boost">On + boost</String>
<String key="IniWord.ssao">SSAO</String>
<String key="IniWord.gtao">GTAO</String>
<String key="IniWord.volumetric">Volumetric</String>
<String key="IniWord.analytic">Analytic</String>
<String key="IniWord.default">Automatic</String>
<String key="IniWord.k">K: best quality</String>
<String key="IniWord.j">J: less smearing</String>
<String key="IniWord.m">M: for Performance mode</String>
<String key="IniWord.l">L: for Ultra Performance</String>
<String key="IniWord.x2">x2</String>
<String key="IniWord.x3">x3</String>
<String key="IniWord.x4">x4</String>
<String key="IniWord.taa">TAA</String>
<String key="IniWord.dlss">DLSS (upscaling)</String>
<String key="IniWord.dlaa">DLAA (native resolution)</String>
<String key="IniWord.3_4">Default (3×4)</String>
<String key="IniWord.4_6">High (4×6)</String>
<String key="IniWord.6_8">Ultra (6×8)</String>
<String key="DlssPreset">DLSS preset</String>
<String key="DlssPresetDesc">The model DLSS rebuilds the image with. The DLSS mode follows the buffer scale: about 67% Quality, 50% Performance, 33% Ultra Performance.</String>
<String key="FrameGeneration">Frame generation</String>
<String key="FrameGenerationDesc">Extra frames between the drawn ones. With DLSS or DLAA only. x3 and x4 need an RTX 50 card.</String>
<String key="Reflex">NVIDIA Reflex</String>
<String key="ReflexDesc">Less delay between the controls and the image.</String>
<String key="RayTracing">Ray traced reflections</String>
<String key="RayTracingDesc">Fills in reflections where SSR finds nothing. The card needs ray query.</String>
<String key="RayTracingRange">Ray tracing range</String>
<String key="VulkanDevice">Graphics card (Vulkan)</String>
<String key="VulkanDeviceDesc">A card's number from the list in the log, or part of its name, like RTX. Empty: chosen automatically.</String>
<String key="Ssr">Screen space reflections (SSR)</String>
<String key="SsrDesc">Reflections of what is on screen, on wet and smooth surfaces.</String>
<String key="AmbientOcclusion">Ambient occlusion</String>
<String key="AmbientOcclusionDesc">Darkens corners and places where surfaces meet. GTAO is more accurate than SSAO.</String>
<String key="AmbientOcclusionQuality">Occlusion quality</String>
<String key="AoLighting">Occlusion in ambient light</String>
<String key="AoLightingDesc">GTAO only. Darkens ambient light and reflections, sun and lamps stay bright. Off: multiplies the finished image, cheaper.</String>
<String key="LightsClustered">Clustered lighting</String>
<String key="LightsClusteredDesc">Vehicle lights and street lamps with no limit on their number. Needed for scenery lamps and the cab lamp.</String>
<String key="LightShadows">Lamp and headlight shadows</String>
<String key="LightShadowsDesc">Shadows cast by the cab lamp, street lamps and vehicle headlights.</String>
<String key="ContactShadows">Contact shadows</String>
<String key="ContactShadowsDesc">Small shadows where objects touch, which the shadow map misses.</String>
<String key="ShadowSdsm">Shadow cascades fitted to the scene (SDSM)</String>
<String key="ShadowSdsmDesc">Spreads the sun shadow resolution over what is actually in view.</String>
<String key="CabProbe">Cab probe</String>
<String key="CabProbeDesc">Light bounced off the cab walls and reflections of the interior in the windows.</String>
<String key="CabProbeInterval">Refresh the probe every N frames</String>
<String key="CabProbeReflections">Cab reflects itself</String>
<String key="CabProbeReflectionsDesc">The windows show the cab interior instead of the sky where SSR finds nothing.</String>
<String key="CabProbeBounce">Cab lamp light bounce</String>
<String key="CabProbeBounceDesc">How much of the lamp's light reflected off the walls lights the cab again. Works with the cab probe.</String>
<String key="FogQuality">Fog quality</String>
<String key="Clouds">Volumetric clouds</String>
<String key="CloudShadows">Cloud shadows on the ground</String>
<String key="Grass">Grass</String>
<String key="GrassDistance">Grass range</String>
<String key="GrassDensity">Grass density</String>
<String key="Precipitation">Precipitation (particles)</String>
<String key="PrecipitationDesc">Number of raindrops and snowflakes in the heaviest precipitation.</String>
<String key="Bloom">Glow of bright areas (bloom)</String>
<String key="AutoExposure">Automatic exposure</String>
<String key="AutoExposureDesc">Image brightness adapts to the scene, for instance entering a tunnel.</String>
<String key="LevelOff">Off</String>
<String key="LevelLow">Low</String>
<String key="LevelMedium">Medium</String>
<String key="LevelHigh">High</String>
<String key="LevelUltra">Ultra</String>
<String key="ReflexOn">On</String>
<String key="ReflexBoost">On + boost</String>
<String key="AaTaa">TAA</String>
<String key="AaDlss">DLSS (upscaling)</String>
<String key="AaDlaa">DLAA (native resolution)</String>
<String key="DlssPresetDefault">Automatic</String>
<String key="DlssPresetK">K: best quality</String>
<String key="DlssPresetJ">J: less smearing</String>
<String key="DlssPresetM">M: for Performance mode</String>
<String key="DlssPresetL">L: for Ultra Performance</String>
<String key="Effects">Effects</String>
<String key="GfxColImage">Resolution and anti-aliasing</String>
<String key="GfxColLights">Lighting</String>
<String key="GfxColAtmosphere">Atmosphere and weather</String>
<String key="GfxColPostFx">Post-processing</String>
<String key="GfxColNature">Vegetation and particles</String>
<String key="AntiAliasing">Anti-aliasing</String>
<String key="AntiAliasingDesc">MSAA smooths the edges of objects, TAA the whole image at the cost of a slight blur. DLSS and DLAA need Vulkan and an NVIDIA RTX card, otherwise the simulator uses TAA.</String>
<String key="VolumetricFog">Volumetric fog</String>
<String key="VolumetricFogDesc">Fog with sun shafts, cloud shadows and the light of lamps. Off: the simpler analytic fog.</String>
<String key="CloudsDesc">The quality of the clouds drawn in the sky.</String>
<String key="REOpenGLNote">DLSS, frame generation, Reflex and ray tracing need Vulkan.</String>
<String key="REVulkanNote">Needs an exe with Vulkan and a card that supports it. Otherwise the simulator starts Full or Old.</String>
<String key="VulkanDeviceAuto">automatic</String>
<String key="DlssPresetInfoDefault">K for DLAA, Quality and Balanced, M for Performance, L for Ultra Performance. The driver may change this with an update.</String>
<String key="DlssPresetInfoK">The transformer model with the best image quality, but the most expensive to compute. The default for DLAA, Quality and Balanced.</String>
<String key="DlssPresetInfoJ">Similar to K: slightly less ghosting behind moving objects at the cost of more flicker. NVIDIA recommends K instead.</String>
<String key="DlssPresetInfoM">The model tuned for Performance mode (about 50% scale), its default there. Works out the image exposure itself.</String>
<String key="DlssPresetInfoL">The model tuned for Ultra Performance mode (about 33% scale), its default there. Works out the image exposure itself.</String>
<String key="DlssMissingLibraryNote">{0} is not next to the simulator: without it the simulator cannot use this DLSS feature.</String>
<String key="DlssNoPlatformNote">DLSS is not available on macOS.</String>
<String key="FrameGenerationNeedsDlssNote">Frame generation works with DLSS or DLAA only.</String>
<String key="ReflexForcedNote">Frame generation turns Reflex on by itself, whatever is chosen here.</String>
<String key="AoLightingPrepassNote">Needs the depth of the whole scene before its colour; without SSR and contact shadows that is an extra pass (CPU cost on OpenGL).</String>
<String key="AoNeedsPipelineNote">With the post-processing skipped the AO does not work.</String>
<String key="CabProbeReflectionsOnlyNote">Without the clustered lighting and the cab lamp as a light (gfx.lights.cab) the probe gives the reflections only.</String>
<String key="TemporalNeedsPipelineNote">TAA and DLSS run in the post-processing: with it skipped the edges will not be smoothed.</String>
<String key="SettingsFile">eu07.ini file</String>
<String key="ImportIni">Import…</String>
<String key="ImportIniTitle">Import settings from eu07.ini</String>
<String key="ImportIniFailed">The file could not be read:
{0}</String>
<String key="ImportIniDone">Imported {0}: save to keep it</String>
<String key="ExportIni">Export…</String>
<String key="ExportIniTitle">Export settings to eu07.ini</String>
<String key="ExportIniFailed">The file could not be written:
{0}</String>
<String key="ExportIniDone">Exported to {0}</String>
<String key="REFull">Full</String>
<String key="REOld">Old</String>
<String key="RESimp">Simplified</String>
<String key="REExperimental">Experimental</String>
<String key="RenderAngleVulkan">Use ANGLE Vulkan renderer</String>
<String key="RenderAngleVulkanDesc">Runs the ANGLE renderer on Vulkan instead of the default backend. Useful when OpenGL misbehaves.</String>
<String key="RenderVBO">Render VBO</String>
<String key="RenderVBODesc">Keeps geometry in GPU buffers (faster). Disable only if you have problems with an old GPU.</String>
<String key="CabShadowsRange">Cabin shadow sources range</String>
<String key="CabShadowsRangeDesc">Distance at which light sources still cast shadows inside the cab. Zero turns cab shadows off.</String>
<String key="UseGLES">Use OpenGL ES</String>
<String key="UseGLESDesc">OpenGL ES instead of OpenGL. Does not work with the legacy renderer.</String>
</Language>