How community-shaders/skyrim-community-shaders works
Skyrim Community Shaders is an SKSE plugin that adds configurable graphics features and engine fixes to Skyrim. Its principal workflow is game/plugin initialization, feature configuration, then graphics changes during runtime rendering. The tree and excerpts support the major subsystems, but most feature implementations and plugin dispatch code were not sampled, so their internal wiring is shown only at a high level.
Main entry points: Features Graphics Features · XSEPlugin.cpp Plugin Entry · Menu.cpp Configuration Menu · Feature.cpp Feature Settings
Components 22
Plugin Runtime
- Plugin Entry
src/XSEPlugin.cpp - Engine Hooks
src/Hooks.cpp - Engine Fixes
src/EngineFix.cpp
Graphics Features
- Graphics Features
src/Features - Effects11
src/Features/Effects11/EffectManager.cpp - Effect Textures
src/Features/Effects11/TextureManager.cpp - Weather Effects
src/Features/Effects11/WeatherManager.cpp - Upscaling
src/Features/Upscaling.cpp - True PBR
src/TruePBR.cpp - Shader Hooks
src/ShaderTools/BSShaderHooks.cpp
Settings and UI
- Feature Settings
src/Feature.cpp - Weather Settings
src/WeatherManager.cpp - Scene Settings
src/SceneSettingsManager.cpp - Settings Overrides
src/SettingsOverrideManager.cpp - Configuration Menu
src/Menu.cpp - Community Shader Editor
src/CSEditor/EditorWindow.cpp - Theme Management
src/Menu/ThemeManager.cpp - Effect Settings
src/Features/Effects11/SettingManager.cpp
Graphics Integrations
- Direct3D 11
- FidelityFX
src/Features/Upscaling/FidelityFX.cpp - NVIDIA Streamline
src/Features/Upscaling/Streamline.cpp
Other components
- Skyrim / SKSE
Connections 19
- Skyrim / SKSE → Plugin Entry: loads plugin
- Plugin Entry → Engine Hooks: initializes hooks
- Plugin Entry → Engine Fixes: installs fixes
- Engine Hooks → Graphics Features: dispatches runtime
- Graphics Features → Direct3D 11: renders effects
- Effects11 → Effect Textures: uses textures
- Effects11 → Direct3D 11: issues draw calls
- Effect Textures → Direct3D 11: creates resources
- Effect Settings → Weather Effects: provides settings
- Weather Effects → Weather Settings: reads weather data
- Scene Settings → Feature Settings: applies feature values
- Settings Overrides → Feature Settings: modifies settings
- Configuration Menu → Feature Settings: edits settings
- Community Shader Editor → Configuration Menu: opens editor UI
- Theme Management → Configuration Menu: styles interface
- Upscaling → FidelityFX: uses upscaling
- Upscaling → NVIDIA Streamline: uses integration
- Shader Hooks → Graphics Features: supports rendering
- True PBR → Graphics Features: adds material rendering