📄️ Getting Started
Nebulon is a Fabric world-shader and visual effect library for Minecraft 1.21.11. It gives mods persistent effect handles, distance culling, GPU batching, custom GLSL render pipelines, multi-stage rendering, native dynamic lights, a pooled particle system, and optional server-authoritative syncing — all compatible with vanilla, Sodium, and Iris (including active shader packs).
📄️ Effects & Built-ins
Every Nebulon visual is a world effect: an immutable description implementing WorldEffect, spawned through a service that returns a live EffectHandle. This page covers the core model and the four "heavyweight" built-in effects. Billboards and SDF shapes are covered in Preset effects.
📄️ Preset Effects
Presets let mods create common visuals without implementing a renderer or writing GLSL. They use Nebulon's internal shaders and the same effect handles, synchronization, culling, render stages, and batching as every other effect — the consuming mod only supplies parameters and textures.
📄️ Particles
Nebulon's particle API provides Lodestone-style configuration without a Lodestone dependency and without placing every particle in the persistent effect manager. A reusable, immutable ParticleSpec describes appearance and physics; lightweight ParticleSpawn values provide position, velocity, delay, and rotation per particle.
📄️ Dynamic Lights
Nebulon ships its own clean-room dynamic light renderer for Minecraft 1.21.11 — Veil is architectural reference only, not a dependency. The backend supports point, spot, and capsule-shaped beam lights through mutable ownership handles, with optional screen-space or world-space shadows.
📄️ Server Synchronization
The consuming mod owns gameplay decisions; Nebulon owns effect serialization, spawn/update/remove packets, late-join synchronization, dimension scoping, and client cleanup on disconnect.
📄️ Custom Effects
A custom effect has three independent pieces, kept separate so dedicated servers never load rendering classes:
📄️ Materials & Shaders
ShaderMaterial is a declarative wrapper around Minecraft's RenderPipeline. It removes repetitive pipeline state setup — shader identifiers, vertex layout, draw mode, blending, depth state, culling, bias, samplers, uniform blocks — while leaving the underlying pipeline available for advanced use.
📄️ Advanced Rendering
This page covers the client rendering toolbox: capability queries, scene snapshots, off-screen targets, ordered post passes, the compositor, dependency-aware render graphs, GPU instancing, and ShaderToy-style shaders.
📄️ Effekseer (Optional)
Effekseer is a graphical VFX editor and runtime. Nebulon supports it as an optional authoring choice for developers who prefer an editor over writing shaders — it never replaces Nebulon's native renderer or material API.
📄️ Diagnostics & Tuning
Nebulon exposes live overlays, stats APIs, and JVM flags for development and performance tuning.
📄️ Building & Contributing
This page is for working on Nebulon itself. Consumers only need Getting Started.