How 3zwr1/amd-nr---optiscaler works
AMDNR combines an injected OptiScaler-based game runtime with a Windows launcher that discovers games and manages installation, updates, proxy selection, and removal. In-game, the game’s graphics calls enter through the injected DLL and wrapped swapchains; feature providers select rendering backends and upscaler implementations. The README also documents neural rendering, frame generation, Ray Regeneration, and Screen GI. Launcher and runtime links reflect sampled source; several documented runtime capabilities lack sampled implementation files, so their internal wiring is intentionally not expanded.
Main entry points: MainViewModel.cs Launcher UI · LauncherService.cs Launcher Service · dllmain.cpp DLL Entry · Installer.cs Install Manager
Components 23
Launcher
- Launcher UI
Launcher/OpenSource/src/AmdnrLauncher.App/ViewModels/MainViewModel.cs - Launcher Service
Launcher/OpenSource/src/AmdnrLauncher.Core/LauncherService.cs - Game Discovery
Launcher/OpenSource/src/AmdnrLauncher.Core/Scanning - Updates
Launcher/OpenSource/src/AmdnrLauncher.App/Services/SelfUpdater.cs
Game Management
- Install Manager
Launcher/OpenSource/src/AmdnrLauncher.Core/Install/Installer.cs - Install Checks
Launcher/OpenSource/src/AmdnrLauncher.Core/Install/InstallGate.cs - Installed Games
Launcher/OpenSource/src/AmdnrLauncher.Core/State/InstalledGamesDb.cs - Package Assets
Launcher/OpenSource/src/AmdnrLauncher.Core/Assets
Injected Runtime
- DLL Entry
main/AMDNR-source/dllmain.cpp - Runtime Configuration
main/AMDNR-source/Config.cpp - Swapchain Wrappers
main/AMDNR-source/wrapped/wrapped_swapchain.cpp - DX11 on DX12
main/AMDNR-source/with_dx12/dx11_with_dx12_sc.cpp - Runtime Logs
main/AMDNR-source/Logger.cpp
Rendering Features
- Feature Selection
main/AMDNR-source/upscalers/FeatureProvider_Dx12.cpp - Upscaler Backends
main/AMDNR-source/upscalers - Neural Rendering
main/AMDNR-source/upscalers - Frame Generation
main/AMDNR-source/with_dx12 - Ray Regeneration
main/AMDNR-source/upscalers/FeatureProvider_Dx12.cpp - Screen GI
main/AMDNR-source/upscalers
Other components
- Player
- D3D12 Game
- Update Manifest
- Game Folder
Connections 23
- Player → Launcher UI: manages games
- Launcher UI → Launcher Service: requests operations
- Launcher Service → Game Discovery: scans libraries
- Game Discovery → Installed Games: loads manual paths
- Launcher UI → Package Assets: downloads packages
- Launcher UI → Updates: checks updates
- Updates → Update Manifest: fetches update
- Launcher UI → Launcher Service: installs or removes
- Launcher Service → Install Checks: checks eligibility
- Launcher Service → Install Manager: runs file changes
- Install Manager → Game Folder: places or restores files
- Install Manager → Installed Games: saves install record
- D3D12 Game → DLL Entry: loads proxy DLL
- DLL Entry → Runtime Configuration: reads settings
- DLL Entry → Swapchain Wrappers: hooks graphics
- Swapchain Wrappers → Feature Selection: dispatches features
- Feature Selection → Upscaler Backends: selects backend
- Feature Selection → Ray Regeneration: selects when supported
- Upscaler Backends → Neural Rendering: runs neural pass
- Swapchain Wrappers → Frame Generation: presents frames
- DX11 on DX12 → Frame Generation: bridges presentation
- DLL Entry → Runtime Logs: starts session logs
- Player → D3D12 Game: launches