Watch Live ► / thecherno
Discord channel for live streams ► / discord
00:00 Problem Introduction
Cherno explains UI texture filtering issues causing blocky, non-smooth icon rendering
Demonstrates the problem: images showing up pixelated instead of filtered
Compares current broken state with previous working version
15:00 Initial Investigation
Debugging HLSL shader setup and combined image samplers
Examining NVRHI (rendering abstraction) sampler configuration
Discovering samplers are set to linear filtering but not working
45:00 Shader Experimentation
Testing GLSL vs HLSL shader approaches
Converting imgui shader from HLSL to GLSL to rule out shader issues
Discovering mysterious register offset issues (samplers at binding 128 vs 0)
1:00:00 Major Breakthrough
Discovering NVRHI uses register offsets (128 for samplers, 0 for textures)
Successfully fixing texture filtering by adjusting binding locations
Explaining how DirectX/HLSL register types translate to Vulkan bindings
1:30:00 Texture State Management
Investigating why textures appear as "undefined" in RenderDoc
Discovering issues with MIP level generation causing rendering problems
Fixing texture state tracking and permanent vs transient state management
2:00:00 State Tracking Deep Dive
Understanding NVRHI's command list state tracking system
Learning difference between permanent texture states and per-frame transitions
Implementing proper initial state management for textures
2:15:00 Final Texture Fixes
Setting up proper texture creation with keep_initial_state flags
Resolving all "undefined" texture issues in debugging tools
Adding debug names to textures for better debugging experience
2:30:00 End: UI Text Rendering
Fixing missing text labels in content browser
Debugging ImGui layout issues causing text to not render
Resolving layout problems by removing problematic suspend/resume layout calls
Stream Summary by Claude Sonnet 4