Skip to content

feat: more advanced rendering effects#388

Merged
sebcrozet merged 8 commits into
masterfrom
more-advanced-effects
Jun 7, 2026
Merged

feat: more advanced rendering effects#388
sebcrozet merged 8 commits into
masterfrom
more-advanced-effects

Conversation

@sebcrozet

Copy link
Copy Markdown
Member

This introduces a wide variety of rendering effects, getting kiss3d closer to parity with other graphics engines (like three.js and bevy):

  • Clustered (forward+) lighting — lifts the fixed light cap
  • Real-time soft shadows — configurable softness; per-object shadow opt-out
  • Lighting channels — confine lights to a subset of objects
  • Skybox + image-based lighting (IBL) — equirectangular environment
  • Reflection probes — baked or runtime cube capture, parallax-corrected
  • Screen-space reflections (SSR)
  • Planar mirror reflectors — integrated into the default PBR material
  • Screen-space ambient occlusion (SSAO)
  • Refractive transmission — screen-space glass
  • Parallax-occlusion / relief mapping — height maps
  • Extended PBR — clearcoat, anisotropy, reflectance, volume attenuation
  • Alpha modes — opaque / mask / blend / premultiplied
  • Depth of field — thin-lens bokeh
  • Distance fog
  • Auto-exposure — eye adaptation
  • Color grading — in the HDR tonemap pass
  • FXAA + CAS post-processing, plus a pixel-inspection loupe
  • MSAA
  • GPU skinning + morph targets (with glTF)

A few screen captures follow.

Screen.Recording.2026-06-07.at.14.14.37.mov
Screen.Recording.2026-06-07.at.14.16.36.mov
Screen.Recording.2026-06-07.at.14.17.39.mov
Screen.Recording.2026-06-07.at.14.19.34.mov
Screen.Recording.2026-06-07.at.14.20.29.mov
image

sebcrozet added 8 commits June 7, 2026 09:44
…ect shadows

- Fix the MSAA implementation and add denoiser performance improvements to the
  GPU raytracer.
- Add the kiss3d scene inspector.
- Render shadows for transparent objects.
…essing

- Extend the rasterizer material model: distance fog, colored ambient light,
  clearcoat, anisotropy, reflectance, transmission and AlphaMode
  (opaque / mask / blend / premultiplied).
- Add orthographic 3D projection and physical camera exposure.
- Add color grading to the HDR tonemap pass and FXAA/CAS post-processing.
- Gamma-correct sRGB mipmap downsampling.
…ng & SSAO

- Equirectangular skybox and image-based lighting (IBL) for the rasterizer,
  with auto-exposure (eye adaptation).
- Per-object and per-camera render-layer masks.
- Parallax-occlusion mapping with method/layer-count controls.
- Geometry prepass and screen-space ambient occlusion (SSAO).
- egui-driven demos for the new features, plus fixes (anisotropic tangent,
  auto-exposure crash, parallax relief conventions).
- Load glTF/GLB models with animations and GPU skinning.
- Support morph targets.
- Add clustered (forward+) lighting.
- Enable hardware ray tracing based on device capabilities (remove the
  hw_raytracer feature).
- Add reflection probes and screen-space reflections (SSR).
- Add reflector objects and per-object reflectors (mirrors).
… transmission

- Implement depth of field.
- Refactor the WGSL shaders using WESL (conditional compilation) and add more
  timestamp queries.
- Make vsync configurable at runtime; remove the force_full debug flag.
- Add light layers and let objects opt out of casting shadows.
- Screen-space refractive transmission that actually works.
- Better mirror and material_pbr examples plus shader/CI fixes.
- Bring the GPU raytracer closer to parity with the rasterizer (true Lambert,
  matching ambient/IBL and DoF parameters, orthographic camera fix, subsurface).
- Add the rt_switcher feature and enable it (and most example assets) on the
  web, including web-compatible skinning.
- Examples, CI and cleanup: chaining in examples, antialiasing demo, remove the
  multi_light/tonemapping-raytracer leftovers, drop the useless MSAA sample
  zero, and assorted warning/CI fixes.
@sebcrozet sebcrozet merged commit e4b9997 into master Jun 7, 2026
6 checks passed
@sebcrozet sebcrozet deleted the more-advanced-effects branch June 7, 2026 12:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant