PulsarPulsar/ Blog
← All posts

#helio

14 posts
Latestrustheliographics

Helio Radiant: Zero-Cost Custom Materials Through Template Fusion

How Helio's Radiant material system combines hand-authored shader templates with graph-generated WGSL snippets to deliver custom surface shaders with zero per-permutation PSO cost — through warp-uniform feature branches, lazy shader compilation, and draw-call grouping by material class.

Tristan Poland (Trident_For_U)
·21 min read
Read →
Helio Radiant: Zero-Cost Custom Materials Through Template Fusion
Helio Fusor: How the Executor Took Ownership of the Render Pass and Why Nobody Noticed
rusthelio

Helio Fusor: How the Executor Took Ownership of the Render Pass and Why Nobody Noticed

How Helio's Fusor system fuses adjacent render passes into a single GPU render pass — why the executor, not the passes, owns the render pass lifecycle, how passes write to a pointer they don't own, and what this saves on Vulkan, Metal, DX12, and WebGPU.

Tristan Poland (Trident_For_U)
·19 min
Post Processing and Custom Shader Injection in Helio
rusthelio

Post Processing and Custom Shader Injection in Helio

How Helio handles post processing — the uber-pass design, multi-point shader injection, GPU volume blending, auto-exposure, bloom, color grading, and the post-process volume system with GPU-side spatial blending.

Tristan Poland (Trident_For_U)
·11 min
Cascaded Shadow Maps: From Matrix Compute to PCSS Filtering
rusthelio

Cascaded Shadow Maps: From Matrix Compute to PCSS Filtering

A complete walkthrough of Helio's shadow pipeline — GPU matrix generation for point/directional/spot lights, the 256-layer shadow atlas with GPU-driven dirty tracking, per-face frustum culling, and PCSS soft shadows with Vogel disk sampling.

Tristan Poland (Trident_For_U)
·18 min
Why Compute Shaders Beat CPU Loops: Helio's O(1) Frame Cost Philosophy
rusthelio

Why Compute Shaders Beat CPU Loops: Helio's O(1) Frame Cost Philosophy

A deep technical walkthrough of Helio's GPU-driven architecture — why the CPU never iterates over objects, how every frame costs the same regardless of scene complexity, and what it took to make that work in practice.

Tristan Poland (Trident_For_U)
·21 min
Cross-Platform GPU Programming Without Losing Your Mind
rusthelio

Cross-Platform GPU Programming Without Losing Your Mind

A practical field guide to the platform differences that actually matter when building a GPU renderer on wgpu — bindless limits, indirect draw capabilities, texture format support, and the WGSL footguns that look the same everywhere but behave differently nowhere you expect.

Tristan Poland (Trident_For_U)
·16 min
Culling Done Right: Fixing What Everyone Gets Wrong About GPU Culling
rusthelio

Culling Done Right: Fixing What Everyone Gets Wrong About GPU Culling

A deep technical postmortem of Helio's culling system — the critical bugs that caused objects to vanish when they shouldn't and appear when they shouldn't, the fixes that brought everything inline with AAA standards, and what a 110% occlusion-culled stat taught us about atomic counter races.

Tristan Poland (Trident_For_U)
·22 min
Editor Gizmos: 3D Transform Manipulation in Rust
rusthelio

Editor Gizmos: 3D Transform Manipulation in Rust

A technical walkthrough of Helio's editor gizmo system — how translate/rotate/scale handles work, the ray intersection picking for handle selection, the axis-aligned rendering, and how everything integrates with the debug draw pipeline for zero-cost editor visualization.

Tristan Poland (Trident_For_U)
·20 min
Building an In-Engine GPU Profiler for Fun and Frame Time
rusthelio

Building an In-Engine GPU Profiler for Fun and Frame Time

A thorough technical walkthrough of how Helio's built-in profiler works — zero-instrumentation pass timing, GPU timestamp queries, resolve buffer mechanics, staging readback without stalling, and the live telemetry viewer that ties it all together.

Tristan Poland (Trident_For_U)
·17 min
Radiance Cascades: Probe-Based Global Illumination
rusthelio

Radiance Cascades: Probe-Based Global Illumination

A technical walkthrough of Helio's probe-based global illumination system — how a sparse grid of radiance probes captures indirect light, the cascade atlas format, multi-bounce accumulation, ambient fallback outside the grid, and why we're waiting on hardware ray tracing for the next step.

Tristan Poland (Trident_For_U)
·15 min
Designing a Render Graph That Doesn't Get in the Way
rusthelio

Designing a Render Graph That Doesn't Get in the Way

A detailed walkthrough of Helio's render graph — how passes declare resource dependencies, the lazy bind-group rebuild pattern, subpass chaining for framebuffer compression, and why we chose typed passes over a JSON graph.

Tristan Poland (Trident_For_U)
·18 min
Tiled Light Culling: From Linear Scan to Forward+
rusthelio

Tiled Light Culling: From Linear Scan to Forward+

A technical walkthrough of Helio's tile-based light culling system — how we replaced a linear per-pixel light scan with a compute shader that assigns lights to 16x16 tiles, the tile frustum construction, the cache key that makes it free on static scenes, and what 1000+ dynamic lights look like in practice.

Tristan Poland (Trident_For_U)
·12 min
Corona: Building a GPU-Native Particle System
rusthelio

Corona: Building a GPU-Native Particle System

A full technical walkthrough of Corona — Helio's GPU-native particle system. How we went from invisible particles and flickering garbage to a million stable, depth-sorted, atlas-rendered particles using prefix sums, bitonic sort, and a lot of debugging.

Tristan Poland (Trident_For_U)
·22 min
Introducing Helio: A GPU-Driven Renderer Built in Rust
rustgame-engine

Introducing Helio: A GPU-Driven Renderer Built in Rust

A deep technical walkthrough of Helio — the custom GPU-driven deferred renderer we built for Pulsar. Why we built it, how its pipeline is structured, and what we learned along the way.

Tristan Poland (Trident_For_U)
·19 min