Vary the forest per instance #120
No reviewers
Labels
No labels
animation
audio
blocked
bug report
controversial
documentation
easy
feature request
hard
medium
multiplayer
physics
ui
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
elsie/liuverse!120
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/87-tree-instance-tint"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Every tree on campus was the same green at the same scale, so a forest read as
one model stamped again. The bake already jitters each tree's pose and size;
the tint comes from where the tree stands, hashed from the instance transform,
so it needs no re-bake and no extra draw.
The tint rides in the tree instance buffer beside the transform and multiplies
the albedo in the lit fragment, the way
PART_BODYcarries its per-instancecolour. It scales the model's own colour rather than replacing it, so bark
stays bark and leaves stay leaves, and it stays within a narrow band around
the model's green.
closes #87
How to test
Fly up over the wooded parts of campus, or open the RTS overview with
M, andlook at a stand of trees: neighbouring trees are no longer the exact same
green -- some read a little darker or brighter, some warmer or cooler. A
tree-lined path no longer reads as the same model repeated twenty times.
A tree's trunk and canopy share one transform, so they share one tint and the
tree does not come apart in two colours.
A 👍 reaction on this pull request flags it for merge.
2bf6c692c2toef729e208e