v0.3.0
🚀 Highlights
This release merges the shaders branch into mainline, bringing production shader tooling, Remix API integration, advanced lighting systems, and a completely redesigned menu interface.
- Shader inspection & dumping - Bulk shader export, assembly search, and disassembly viewer
- Remix API integration - Direct Remix runtime API support with custom light authoring
- Advanced lighting system - Shader lighting metadata parsing, deterministic light forwarding, custom light animations
- Complete menu redesign - Professional multi-tab interface with Camera, Shaders, Lights, Remix API, and About sections
- Custom Remix API - Programmable light control and raster/Remix compositing modes
- Barnyard profile - Hybrid SetTransform interception for mixed-pipeline engines
- Enhanced overlay - Scalable UI, JetBrains Mono/Roboto fonts, modern theme
The shaders branch transforms the camera proxy from a matrix forwarding tool into a comprehensive RTX Remix development and debugging platform.
✨ Added & Improved
Shader Inspection & Analysis
New Shaders tab with comprehensive tooling:
- Shader viewer - Live display of active vertex/pixel shaders with disassembly
- Bulk shader dump - Export all captured shaders with one click
- Assembly search - Filter shaders by keyword (dcl, def, mov, tex, etc.) with configurable scopes
- Search scopes - Target specific instruction types or shader sections
- Shader metadata - View usage counts, register layouts, and constant dependencies
Enables rapid shader analysis for engine reverse engineering.
Remix API Integration
Direct access to Remix runtime API:
- remixapi integration - Loads and initializes Remix API on startup
- API status monitoring - Real-time connection status and error reporting
- Custom API tab - Dedicated interface for Remix API operations
- Optional logging -
remix_api.logdiagnostics for troubleshooting - Per-frame API calls - Synchronized draw-time and present-phase operations
Foundation for advanced Remix integration features.
Advanced Lighting System
Shader-driven light metadata forwarding:
- Deterministic light parsing - Extract lighting data from shader constants
- Custom light authoring - Create, edit, and manage custom light sources
- Light animations - Keyframe-based light position/color/intensity animations
- Shader lighting overrides - Override detected lights with custom configurations
- Present-phase light injection - Dynamic light creation at present time
- Ambient radius defaults - Configurable ambient light falloff (default 1.0)
- Light import/export - Save and load custom light configurations
Enables full lighting control for Remix scenes.
Raster/Remix Compositing
Experimental blend modes between raster and path-traced output:
- Opt-in fullscreen blend - Configurable via
[RasterBlend]INI section - Multiple blend modes - Control how raster and Remix layers combine
- Per-scene tuning - Balance between original raster and path-traced lighting
- Runtime toggle - Enable/disable compositing without restart
Useful for partial Remix integration or artistic effects.
Complete Menu Redesign
Professional multi-tab overlay interface:
-
Tab organization:
- Camera - Per-matrix panels with source metadata and custom projection preview
- Shaders - Shader viewer, search, and bulk dump controls
- Lights - Custom light management with animation tools
- Remix API - API status, configuration, and advanced controls
- About - Comprehensive usage guide and matrix-hunting tutorial
- Constants - Shader register viewer (existing, now organized)
- Memory Scanner - Background scanning (existing, now organized)
- Logs - Real-time log stream (existing, now organized)
-
Typography overhaul:
- JetBrains Mono - Primary monospace font for code/data
- Roboto Regular + Bold - UI text with clear hierarchy
- Improved readability at all scales
-
Theme improvements:
- Modern color palette with better contrast
- Consistent spacing and alignment
- Visual hierarchy with section headings
- Centered non-clickable button headers for organization
-
Camera tab rework:
- Separate panels for World, View, Projection
- Custom projection preview with parameters
- Source metadata display (register, confidence, frame)
-
About tab:
- Step-by-step matrix hunting guide
- Example register layouts for known games
- Best practices and troubleshooting tips
- Makes Camera tab default on menu open
Game Profile: Barnyard (2006)
New hybrid profile for mixed-pipeline engines:
- Intercepts native
SetTransform(VIEW/PROJECTION)calls - Captures and re-forwards at draw time for synchronization
- Shader-based WORLD detection from constants
BarnyardForceWorldFromC0- Force c0-c3 as WORLDBarnyardUseGameSetTransformsForViewProjection- Enable interception
Enhanced Matrix Detection
Expanded detection capabilities:
- Transpose probing (
ProbeTransposedLayouts=1) - Check transposed layouts - Inverse-view support (
ProbeInverseView=1) - Derive view from inverse-view constants - Improved structural validation - Better disambiguation between View and inverse candidates
- Runtime override reset - F7 hotkey returns registers to auto-detect
- Per-matrix register forcing - Granular control over detection
Hotkey System
Single-key controls that work even with input conflicts:
- F10 - Toggle overlay (
HotkeyToggleMenuVK) - F9 - Pause/unpause emission (
HotkeyTogglePauseVK) - F8 - Force emit matrices once (
HotkeyEmitMatricesVK) - F7 - Reset register overrides (
HotkeyResetMatrixOverridesVK)
All keys configurable via VK codes in INI.
SetTransform Compatibility
Modes for engines with mixed transform behavior:
SetTransformBypassProxyWhenGameProvides=1- Detect and skip double-forwardingSetTransformRoundTripCompatibilityMode=1- Round-trip for strict API compliance- Hybrid interception for partial fixed-function usage
Memory Scanner
Runtime matrix pattern discovery:
- Background process memory scanning
- Configurable confidence thresholds
- Quick-assign to World/View/Projection
- Minimal overhead with smart scanning
Matrix Emission Improvements
- Avoid identity emission - Skip forwarding identity matrices
- Retain last-known state - Persist valid matrices across frames
- Combined MVP/VP/MV fixes - Improved decomposition math
⚙️ Default Configuration Behavior
All v0.2.0 defaults remain unchanged.
New defaults in v0.3.0:
ProbeTransposedLayouts=1ProbeInverseView=0ImGuiScalePercent=100SetTransformBypassProxyWhenGameProvides=0SetTransformRoundTripCompatibilityMode=0
Experimental features (disabled by default):
- Shader bulk dumping (manual trigger)
- Remix API custom lights
- Raster/Remix compositing
- Memory scanner
- Light animations
🐛 Known Issues
Same issues from v0.2.0 remain:
- Combined MVP decomposition requires testing
- Custom projection is experimental
- Some games may need manual register overrides
New considerations in v0.3.0:
- Remix runtime fallback distant lights or custom remix api lights appear to follow the camera
- Custom lights are experimental - validate visually
- Raster/Remix compositing may not work with all render paths
- Shader dumping can generate large file sets
- Memory scanner may impact performance on large games
🙌 Credits
- mencelot
- cobalticarus92
- Kim2091