Use the normal maps the assets ship #86

Closed
opened 2026-10-20 08:49:30 +00:00 by sermuns · 0 comments
Owner

assets/3d/nature/ ships Bark_*.png and matching *_Normal.png files, and
liuverse/src/config.rs includes only the albedo. The vertex layout is position,
normal and UV; the lit fragment samples one albedo texture and one normal.

Trees are large, close and textured, and their lighting is flat, so the normal maps
are currently paid for in repository size and never used.

Add a normal-map bind per asset that has one, and a tangent frame. Tangents can be
derived in the fragment from screen-space derivatives, which keeps the vertex
format and every existing buffer unchanged; the cheaper alternative is to add a
tangent attribute at import, which touches Asset and the scene builder.

Related: #76 fixes the filtering that would otherwise hide the result at
distance. #87 varies the same models.

`assets/3d/nature/` ships `Bark_*.png` and matching `*_Normal.png` files, and `liuverse/src/config.rs` includes only the albedo. The vertex layout is position, normal and UV; the lit fragment samples one albedo texture and one normal. Trees are large, close and textured, and their lighting is flat, so the normal maps are currently paid for in repository size and never used. Add a normal-map bind per asset that has one, and a tangent frame. Tangents can be derived in the fragment from screen-space derivatives, which keeps the vertex format and every existing buffer unchanged; the cheaper alternative is to add a tangent attribute at import, which touches `Asset` and the scene builder. Related: #76 fixes the filtering that would otherwise hide the result at distance. #87 varies the same models.
sermuns added this to the Rendering milestone 2026-10-20 08:49:30 +00:00
Sign in to join this conversation.
No description provided.