View Issue Details

IDProjectCategoryView StatusLast Update
0005584DarkRadiantRendererpublic10.04.2021 07:06
Reportergreebo Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityhave not tried
Status assignedResolutionopen 
Product Version2.11.0 
Summary0005584: Move openGL render calls to Backend
DescriptionRight now the actual glWhatever() calls submitting geometry is purely done in the OpenGLRenderable implementations, like Winding, RenderablePatchWireframe, etc. This makes it impossible for the backend render to perform any state grouping, a lot of render pass preparation is done for each renderable, only to submit 4 vertices plus normals to the driver. Instead of submitting geometry themselves using GL_POLYGON, GL_QUAD_STRIP, etc. each object contributing triangles to the scene should do so using a unified surface data type, similar to what the StaticModelSurfaces are using already.

Goal: no openGL driver calls in the scene::Node implementations, all renderables are submitting their geometry using the same data format, possibly one based on an indexed array of ArbitraryMeshVertices.

The non-triangle data which do not affect light interactions like target arrows, speaker boxes or the manipulator lines are probably not suitable for this new surface data type, but ideally these can be refactored to use something analogous.
TagsNo tags attached.


There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
10.04.2021 07:05 greebo New Issue
10.04.2021 07:05 greebo Status new => confirmed
10.04.2021 07:06 greebo Assigned To => greebo
10.04.2021 07:06 greebo Status confirmed => assigned