rendering: add core OpenGL DrawList backend - #29
Open
tritao wants to merge 5 commits into
Open
Conversation
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
from
August 9, 2026 01:40
9d37115 to
98599db
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
from
August 9, 2026 01:51
98599db to
450129c
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
3 times, most recently
from
August 9, 2026 02:21
f479e95 to
84d0b47
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
from
August 9, 2026 02:35
84d0b47 to
ed69f26
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
from
August 9, 2026 02:46
ed69f26 to
30d520a
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
from
August 9, 2026 10:20
736cc60 to
487bea8
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
from
August 9, 2026 10:54
487bea8 to
d911d52
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
2 times, most recently
from
August 9, 2026 11:37
5792286 to
b56798e
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
from
August 9, 2026 11:44
b56798e to
f7d4e81
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
2 times, most recently
from
August 9, 2026 12:02
1e472a9 to
996b814
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
from
August 9, 2026 12:07
996b814 to
1b052ba
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
from
August 9, 2026 12:13
1b052ba to
c390b55
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
from
August 9, 2026 20:02
16de094 to
dd0a03f
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
from
August 9, 2026 21:01
dd0a03f to
89c0725
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
from
August 9, 2026 21:55
89c0725 to
6e3ceb9
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
2 times, most recently
from
August 9, 2026 22:48
8890335 to
22a352c
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
from
August 10, 2026 09:57
22a352c to
6dcbe03
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
2 times, most recently
from
August 10, 2026 11:18
407ece0 to
f0dcf93
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
from
August 10, 2026 11:23
f0dcf93 to
8771d05
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
from
August 10, 2026 11:57
8771d05 to
669d972
Compare
tritao
force-pushed
the
stack/drawlist-gl-backend
branch
from
August 10, 2026 13:29
669d972 to
55f8d7a
Compare
Use CMake 3.21 or newer because the core GLSL root-shader embedding pipeline uses build-time dependency/depfile support. This is a build-system requirement; the DrawList runtime does not intrinsically require CMake 3.21.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add the OpenGL 3.3 DrawList executor using GLSL 330 core semantics. The backend supports both OpenGL compatibility and core contexts.
SoGLRenderBackend.CoinVisualTestswith base unlit rendering, model transforms, vertex colors, orthographic projection, and depth/occlusion parity scenes.This layer deliberately does not own retained material semantics, texture policy,
depth-function/write policy, blending, raster semantics, picking, selection,
render stages, or manager orchestration. Those belong to later stack layers.
Visual validation
CoinVisualTestscan be built with or without LegacyGL. LegacyGL is the soleauthority for checked-in reference baselines; DrawList compatibility and core
runs compare against the same LegacyGL images. Baseline updates are rejected
for DrawList and are unavailable when LegacyGL is not built.
The base visual coverage includes:
unlit_cube_basicunlit_transformed_cubesunlit_vertex_colorsunlit_orthographic_basicunlit_depth_overlapThe DrawList visual adapter rejects a frame when commands contain inconsistent
view/projection matrices, because this layer executes one frame-level matrix
pair. Material, lighting, blending, raster, picking, manager, and lifecycle
coverage remains with its owning layer.
The retained-IR test also verifies that indexed per-vertex material colors are
captured into backend-neutral geometry data, including effective alpha.
Build-system requirement
CMake 3.21 or newer is required for the GLSL root-shader embedding pipeline,
which uses build-time dependency/depfile support. This is a build-system
requirement; DrawList rendering itself does not intrinsically require CMake
3.21.
Stack position
This is the base DrawList execution layer, built on the retained render-IR
layer. Later layers add material and lighting semantics, text preparation,
raster and image state, picking, planning, manager orchestration, and staged
rendering/lifecycle behavior.