perf(rendering): preserve alpha order with bindless particles
Carry each billboard particle's resident texture handle in the instance ABI so stable retail alpha ordering can batch mixed textures without rebinding and redrawing each short texture run. Keep DAT blend transitions as the only billboard draw boundary. The connected 0xC95B stress scene improved from 6 FPS / 171 ms to about 153 FPS / 6.6 ms at the same roughly 21,000 visible entities. Release build succeeds and all 5,916 tests pass with five intentional skips. Co-authored-by: OpenAI Codex <codex@openai.com>
This commit is contained in:
parent
6b0472ee32
commit
2cbf34a668
7 changed files with 150 additions and 57 deletions
|
|
@ -177,7 +177,10 @@ The named retail client remains the behavioral oracle.
|
|||
retaining retail's missing per-`CPartCell` lists. AP-34 records that narrow
|
||||
architectural residual explicitly.
|
||||
4. The queue itself does not reorder by renderer or material. Only adjacent
|
||||
compatible submissions may batch.
|
||||
compatible submissions may batch. The modern billboard vertex-instance
|
||||
record carries a bindless texture handle, so adjacent particles with
|
||||
different textures are still one compatible ordered draw; blend mode is
|
||||
the only billboard state boundary.
|
||||
5. Every flush keeps depth testing enabled and depth writes disabled.
|
||||
6. Each submission preserves its DAT blend mode, cull mode, transform,
|
||||
texture, lighting, opacity, and selection-lighting state.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue