Skip to content

rendering: preserve material and lighting semantics in DrawList - #49

Open
tritao wants to merge 6 commits into
stack/drawlist-gl-backendfrom
stack/drawlist-material-lighting
Open

rendering: preserve material and lighting semantics in DrawList#49
tritao wants to merge 6 commits into
stack/drawlist-gl-backendfrom
stack/drawlist-material-lighting

Conversation

@tritao

@tritao tritao commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

This layer retains and executes the ordinary visual semantics that sit above the minimal DrawList executor:

  • material fields: ambient, diffuse, specular, emissive, shininess, opacity, and shading model;
  • directional, point, and spot lights, attenuation, two-sided lighting, and the explicit eight-light Visual-program cap;
  • texture pixels, wrapping, effective filtering, mipmap policy, texture models, and blend color;
  • depth, blend, alpha-test, transparency, and per-material primitive batching;
  • composable GLSL material, texture, lighting, and alpha-test modules.

Traversal state remains semantic and renderer-neutral. The OpenGL executor owns backend fallbacks and diagnostics: missing lighting never synthesizes a headlight, dual-source blend factors are retained and warned/fallback only at execution, and retained lights beyond the Visual-program limit are reported rather than discarded from the IR.

The layer also removes the speculative SoShape material-index virtual, preserves diffuse and emissive independently, composes texture evaluation with lighting, and derives sampler state from the existing quality policy.

Scope

This change does not add raster-width/point-size behavior, pixel image/text programs, picking, selection, manager orchestration, render stages, or context-loss lifecycle. Those remain in the layers above this one.

Validation

The retained semantic and core-profile EGL pixel tests cover material, emissive, lighting, texture models, filtering, alpha, depth, blend, two-sided lighting, light-cap behavior, batching, and transparent depth-write behavior.

Stack

Layer 13/18, based on PR #29.

@tritao tritao changed the title stack/drawlist material lighting rendering: preserve material and lighting semantics in DrawList Aug 12, 2026
@tritao
tritao force-pushed the stack/drawlist-material-lighting branch 3 times, most recently from 4644c7c to 9339d9d Compare August 12, 2026 15:20
@tritao
tritao marked this pull request as ready for review August 12, 2026 17:21
@tritao
tritao force-pushed the stack/drawlist-material-lighting branch from 9339d9d to 3b83a63 Compare August 12, 2026 17:22
@tritao
tritao force-pushed the stack/drawlist-material-lighting branch 2 times, most recently from 6e097e1 to e2f8655 Compare August 13, 2026 18:19
@tritao
tritao force-pushed the stack/drawlist-material-lighting branch from e2f8655 to c217a0c Compare August 13, 2026 18:48
@tritao
tritao force-pushed the stack/drawlist-material-lighting branch from c217a0c to a62b308 Compare August 14, 2026 00:00
@tritao
tritao force-pushed the stack/drawlist-material-lighting branch 2 times, most recently from 7a4a568 to 59eaf4a Compare August 14, 2026 13:41
@tritao
tritao force-pushed the stack/drawlist-material-lighting branch from 59eaf4a to dcad6e3 Compare August 14, 2026 18:02
@tritao
tritao force-pushed the stack/drawlist-material-lighting branch from dcad6e3 to c5c143c Compare August 14, 2026 18:30
@tritao
tritao force-pushed the stack/drawlist-material-lighting branch 2 times, most recently from 3b5ec81 to e5147d5 Compare August 14, 2026 19:30
@tritao
tritao force-pushed the stack/drawlist-material-lighting branch 2 times, most recently from cfd0797 to 9c52983 Compare August 16, 2026 00:25
@tritao
tritao force-pushed the stack/drawlist-material-lighting branch from 9c52983 to d40dae3 Compare August 16, 2026 10:00
@tritao
tritao force-pushed the stack/drawlist-material-lighting branch from d40dae3 to 9c14a8b Compare August 16, 2026 15:09
@tritao
tritao force-pushed the stack/drawlist-material-lighting branch 2 times, most recently from 3b46535 to ce2f8a0 Compare August 16, 2026 16:25
@tritao
tritao force-pushed the stack/drawlist-material-lighting branch from ce2f8a0 to 6e425af Compare August 16, 2026 18:05
@tritao
tritao force-pushed the stack/drawlist-material-lighting branch from 6e425af to 2727954 Compare August 16, 2026 18:22
@tritao
tritao force-pushed the stack/drawlist-material-lighting branch 2 times, most recently from 36be7be to 8778981 Compare August 16, 2026 19:41
@tritao
tritao force-pushed the stack/drawlist-material-lighting branch from 8778981 to 0fd0ae1 Compare August 16, 2026 20:15
@tritao
tritao force-pushed the stack/drawlist-material-lighting branch from 0fd0ae1 to 1e22694 Compare August 16, 2026 20:20
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