Skip to content

rendering: add backend-neutral retained IR - #28

Open
tritao wants to merge 6 commits into
stack/render-tests-infrastructurefrom
stack/retained-render-ir
Open

rendering: add backend-neutral retained IR#28
tritao wants to merge 6 commits into
stack/render-tests-infrastructurefrom
stack/retained-render-ir

Conversation

@tritao

@tritao tritao commented Aug 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

Introduce the backend-neutral retained representation and scene traversal used by DrawList rendering.

  • Add retained draw commands for geometry, transforms, material, texture, depth, blend, and raster state.
  • Keep retained geometry storage independent of OpenGL resource types.
  • Add `SoIRRenderAction` to translate Coin scene-graph traversal into retained commands.
  • Route generic shapes through retained primitive collection.
  • Preserve 1-, 2-, 3-, and 4-component texture semantics in the retained representation.
  • Add focused IR tests and representative scene-graph traversal coverage.

The tests include traversal of ordinary nodes such as `SoCube` and validate emitted topology, geometry, and command ownership.

This layer does not add an OpenGL backend, GPU picking, selection rendering, render stages, or manager pipeline integration.

Stack

Layer 11/18, based on PR #59.

@tritao tritao changed the title stack/retained render ir rendering: add backend-neutral retained IR Aug 9, 2026
@tritao
tritao force-pushed the stack/retained-render-ir branch from 517f6b0 to 385fb66 Compare August 9, 2026 01:40
@tritao
tritao force-pushed the stack/retained-render-ir branch from 385fb66 to 4ec4252 Compare August 9, 2026 01:51
@tritao
tritao force-pushed the stack/retained-render-ir branch 2 times, most recently from fc1aad7 to f8caba6 Compare August 9, 2026 02:35
@tritao
tritao changed the base branch from stack/platform-build-plumbing to stack/compatibility-boundary August 9, 2026 02:38
@tritao
tritao force-pushed the stack/retained-render-ir branch 2 times, most recently from 617677d to fe13c3d Compare August 9, 2026 10:20
@tritao
tritao force-pushed the stack/retained-render-ir branch 2 times, most recently from dd148e9 to d5d89b1 Compare August 9, 2026 11:24
@tritao
tritao force-pushed the stack/retained-render-ir branch 2 times, most recently from 0d605c2 to f5e60cd Compare August 9, 2026 11:44
@tritao
tritao changed the base branch from stack/compatibility-boundary to stack/legacy-blending August 9, 2026 11:49
@tritao
tritao force-pushed the stack/retained-render-ir branch from f5e60cd to 5928ac0 Compare August 9, 2026 11:50
@tritao
tritao force-pushed the stack/retained-render-ir branch from 5928ac0 to 47574ef Compare August 9, 2026 12:02
@tritao
tritao force-pushed the stack/retained-render-ir branch from 47574ef to 34d969f Compare August 9, 2026 12:07
@tritao
tritao force-pushed the stack/retained-render-ir branch 2 times, most recently from 7e9074e to c6e1464 Compare August 9, 2026 12:23
@tritao
tritao force-pushed the stack/retained-render-ir branch from 594afe1 to 3239d37 Compare August 9, 2026 18:51
@tritao
tritao force-pushed the stack/retained-render-ir branch 2 times, most recently from 3bcc38c to 5e672d5 Compare August 9, 2026 21:01
@tritao
tritao force-pushed the stack/retained-render-ir branch from 5e672d5 to c8fa736 Compare August 9, 2026 21:55
@tritao
tritao force-pushed the stack/retained-render-ir branch from c8fa736 to 1739b0b Compare August 9, 2026 22:42
@tritao
tritao force-pushed the stack/retained-render-ir branch from 1739b0b to 0ec55ec Compare August 9, 2026 22:48
@tritao
tritao force-pushed the stack/retained-render-ir branch from 0ec55ec to 061f247 Compare August 10, 2026 09:57
@tritao
tritao force-pushed the stack/retained-render-ir branch 2 times, most recently from 08d4bb6 to 694ee6a Compare August 10, 2026 11:18
@tritao
tritao force-pushed the stack/retained-render-ir branch from 694ee6a to 8e70e8e Compare August 10, 2026 11:23
@tritao
tritao force-pushed the stack/retained-render-ir branch 2 times, most recently from 15109a1 to a28ea94 Compare August 10, 2026 13:29
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