View Issue Details

IDProjectCategoryView StatusLast Update
0005912DarkRadiantRendererpublic09.10.2022 17:37
Reportergreebo Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityhave not tried
Status closedResolutionfixed 
Product Version3.0.0 
Fixed in Version3.0.0 
Summary0005912: Move GL draw calls to central location
DescriptionAfter moving the GL calls (0005584) to the renderer backend, they are still spread across a few classes. The goal here is to move those calls to a single location (class ObjectRenderer) to reduce that duplicated code.
TagsNo tags attached.

Activities

greebo

greebo

12.03.2022 17:49

administrator   ~0014763

Consolidated - all but the single call in WindingRenderer to draw a stand-alone winding with a different set of indices.

Related Changesets

DarkRadiant: master ca502c01

03.03.2022 13:34

greebo


Details Diff
0005912: Split ObjectRenderer method to provide a public method that can submit a single geometry slot Affected Issues
0005912
mod - radiantcore/rendersystem/backend/ObjectRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/ObjectRenderer.h Diff File

DarkRadiant: master 090856d0

03.03.2022 13:40

greebo


Details Diff
0005912: GeometryRenderer's single surface rendering now using ObjectRenderer Affected Issues
0005912
mod - radiantcore/rendersystem/backend/GeometryRenderer.h Diff File
mod - radiantcore/rendersystem/backend/ObjectRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/ObjectRenderer.h Diff File

DarkRadiant: master c645f32d

03.03.2022 14:06

greebo


Details Diff
0005912: GeometryRenderer's multi surface rendering now using ObjectRenderer Affected Issues
0005912
mod - radiantcore/rendersystem/backend/GeometryRenderer.h Diff File
mod - radiantcore/rendersystem/backend/ObjectRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/ObjectRenderer.h Diff File
mod - radiantcore/rendersystem/backend/OpenGLShader.cpp Diff File

DarkRadiant: master 7813e634

03.03.2022 14:12

greebo


Details Diff
0005912: Reduce amount of duplicated code Affected Issues
0005912
mod - radiantcore/rendersystem/backend/ObjectRenderer.cpp Diff File

DarkRadiant: master ddaadc72

03.03.2022 14:47

greebo


Details Diff
0005912: Slim the GeometryRenderer::SurfaceGroup type to a small struct, moving most of the thin-wrapping method bodies to the call site.
Indirection can be a nice thing, but in this case it didn't add much value.
Affected Issues
0005912
mod - radiantcore/rendersystem/backend/GeometryRenderer.h Diff File

DarkRadiant: master d6c9f1e5

03.03.2022 14:53

greebo


Details Diff
0005912: Remove GL state calls, this method is already embedded in a bunch of these Affected Issues
0005912
mod - radiantcore/rendersystem/backend/GeometryRenderer.h Diff File

DarkRadiant: master 3b9823c9

03.03.2022 15:06

greebo


Details Diff
0005912: Remove more GL state calls Affected Issues
0005912
mod - radiantcore/rendersystem/backend/GeometryRenderer.h Diff File

DarkRadiant: master a424ebbf

03.03.2022 15:39

greebo


Details Diff
0005912: Simplify SurfaceRenderer methods a bit Affected Issues
0005912
mod - radiantcore/rendersystem/backend/OpenGLShader.cpp Diff File
mod - radiantcore/rendersystem/backend/SurfaceRenderer.h Diff File

DarkRadiant: master 6ba8fa90

03.03.2022 16:18

greebo


Details Diff
0005912: Remove unnecessary GL state calls Affected Issues
0005912
mod - radiantcore/rendersystem/backend/SurfaceRenderer.h Diff File

DarkRadiant: master 5e428097

04.03.2022 04:41

greebo


Details Diff
0005912: Notify the parent brush if any face needs a renderable update, this way the BrushNode::onPreRender method is much faster for untouched brushes. Affected Issues
0005912
mod - radiantcore/brush/Brush.cpp Diff File
mod - radiantcore/brush/Brush.h Diff File
mod - radiantcore/brush/BrushNode.cpp Diff File
mod - radiantcore/brush/BrushNode.h Diff File
mod - radiantcore/brush/Face.cpp Diff File

DarkRadiant: master 0517e606

04.03.2022 05:41

greebo


Details Diff
0005912: Remove unneeded GL calls Affected Issues
0005912
mod - libs/render/WindingRenderer.h Diff File
mod - radiantcore/rendersystem/backend/OpenGLShader.cpp Diff File

DarkRadiant: master c466e903

04.03.2022 05:45

greebo


Details Diff
0005912: Fix brushes not updating themselves for wireframe rendering Affected Issues
0005912
mod - radiantcore/brush/BrushNode.cpp Diff File

DarkRadiant: master 18f5e5dc

04.03.2022 11:01

greebo


Details Diff
0005912: Change IGeometryStore interface. Allocation now reserves a certain amount of memory only, data is committed through IGeometryStore::updateData() only. It's now allowed to submit data that is not fully exhausting the available space in a slot. Affected Issues
0005912
mod - include/igeometrystore.h Diff File
mod - libs/render/ContinuousBuffer.h Diff File
mod - libs/render/WindingRenderer.h Diff File
mod - radiantcore/rendersystem/backend/GeometryRenderer.h Diff File
mod - radiantcore/rendersystem/backend/GeometryStore.h Diff File
mod - radiantcore/rendersystem/backend/SurfaceRenderer.h Diff File
mod - test/ContinuousBuffer.cpp Diff File

DarkRadiant: master 20a0444a

04.03.2022 11:02

greebo


Details Diff
0005912: When rendering a geometry chunk, use the actual number of used indices instead of the memory block's capacity. Affected Issues
0005912
mod - radiantcore/rendersystem/backend/GeometryStore.h Diff File

DarkRadiant: master d0dc716e

04.03.2022 14:29

greebo


Details Diff
0005912: Extend IGeometryStore interface by setSubData() method that is updating only a part of the allocated memory. Affected Issues
0005912
mod - include/igeometrystore.h Diff File
mod - libs/render/ContinuousBuffer.h Diff File
mod - radiantcore/rendersystem/backend/GeometryStore.h Diff File
mod - test/ContinuousBuffer.cpp Diff File

DarkRadiant: master ac5ba825

04.03.2022 15:06

greebo


Details Diff
0005912: Extend IGeometryStore interface by resizeData() method to be able to trim the stored data. Affected Issues
0005912
mod - include/igeometrystore.h Diff File
mod - radiantcore/rendersystem/backend/GeometryStore.h Diff File
mod - test/ContinuousBuffer.cpp Diff File

DarkRadiant: master e8207fa3

04.03.2022 15:32

greebo


Details Diff
0005912: WindingRenderer is syncing the contents CompactWindingVertexBuffer to the GeometryStore.
During scene update, the CompactWindingVertexBuffer is more efficient than to call updateSubData() on every change, so sync the changed range right before we render things.
Affected Issues
0005912
mod - libs/render/CompactWindingVertexBuffer.h Diff File
mod - libs/render/ContinuousBuffer.h Diff File
mod - libs/render/WindingRenderer.h Diff File
mod - radiantcore/rendersystem/OpenGLRenderSystem.cpp Diff File

DarkRadiant: master d2edf2e5

04.03.2022 16:20

greebo


Details Diff
0005912: Move WindingRenderer to core binary. It is using the ObjectRenderer to submit all its windings now. Fix a couple of bugs. Affected Issues
0005912
mod - radiantcore/rendersystem/backend/OpenGLShader.h Diff File
mod - test/WindingRendering.cpp Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File
mod - tools/msvc/libs.vcxproj Diff File
mod - tools/msvc/libs.vcxproj.filters Diff File

DarkRadiant: master 2c4176de

04.03.2022 16:27

greebo


Details Diff
0005912: Code cleanup in WindingRenderer and callers Affected Issues
0005912
mod - radiantcore/rendersystem/backend/OpenGLShader.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShader.h Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.cpp Diff File
mod - radiantcore/rendersystem/backend/WindingRenderer.h Diff File

DarkRadiant: master 7b013185

04.03.2022 16:55

greebo


Details Diff
0005912: Move EdgeRenderIndices struct to Brush class, since it's only used privately. Remove unused file. Affected Issues
0005912
mod - radiantcore/brush/Brush.h Diff File
rm - radiantcore/brush/RenderableWireFrame.h Diff
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File

DarkRadiant: master 563d6f95

04.03.2022 16:59

greebo


Details Diff
0005912: RenderablePointVector no longer is an OpenGLRenderable, nothing is using it as such anymore Affected Issues
0005912
mod - libs/render.h Diff File

DarkRadiant: master df6c08a1

04.03.2022 17:20

greebo


Details Diff
0005912: Remove now unused RenderInfo type. Affected Issues
0005912
mod - include/irender.h Diff File
mod - libs/render/RenderableGeometry.h Diff File
mod - libs/render/RenderableSurface.h Diff File
mod - plugins/dm.gui/gui/RenderableCharacterBatch.h Diff File
mod - radiantcore/brush/RenderableWinding.h Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.cpp Diff File
mod - radiantcore/rendersystem/backend/SceneRenderer.cpp Diff File

DarkRadiant: master 15a6c9ce

05.03.2022 03:06

greebo


Details Diff
0005912: Rename OpenGLShaderPass methods and fields for clarity Affected Issues
0005912
mod - radiantcore/rendersystem/backend/FullBrightRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.h Diff File

DarkRadiant: master 34100c9e

05.03.2022 03:27

greebo


Details Diff
0005912: Reduce amount of duplicated code. Add some comments. Affected Issues
0005912
mod - radiantcore/rendersystem/backend/WindingRenderer.h Diff File

DarkRadiant: master ab413fd5

05.03.2022 03:58

greebo


Details Diff
0005912: Rename ArbitraryMeshVertex to MeshVertex. Leave an alias in the python interface. Affected Issues
0005912
mod - include/igeometryrenderer.h Diff File
mod - include/igeometrystore.h Diff File
mod - include/imodelsurface.h Diff File
mod - include/irender.h Diff File
mod - include/irenderable.h Diff File
mod - include/isurfacerenderer.h Diff File
mod - include/iwindingrenderer.h Diff File
mod - libs/render.h Diff File
mod - libs/render/RenderableBoundingBoxes.h Diff File
mod - libs/render/RenderableBox.h Diff File
mod - libs/render/RenderableGeometry.h Diff File
mod - libs/render/RenderablePivot.h Diff File
mod - libs/render/RenderableVertexArray.h Diff File
mod - libs/render/VertexHashing.h Diff File
mod - plugins/script/interfaces/ModelInterface.cpp Diff File
mod - plugins/script/interfaces/ModelInterface.h Diff File
mod - radiantcore/brush/RenderableBrushVertices.cpp Diff File
mod - radiantcore/brush/RenderableWinding.h Diff File
mod - radiantcore/entity/RenderableArrow.cpp Diff File
mod - radiantcore/entity/curve/RenderableCurve.h Diff File
mod - radiantcore/entity/curve/RenderableCurveVertices.h Diff File
mod - radiantcore/entity/doom3group/RenderableVertex.h Diff File
mod - radiantcore/entity/light/Renderables.cpp Diff File
mod - radiantcore/entity/speaker/SpeakerRenderables.cpp Diff File
mod - radiantcore/entity/speaker/SpeakerRenderables.h Diff File
mod - radiantcore/entity/target/RenderableTargetLines.h Diff File
mod - radiantcore/map/RenderablePointFile.h Diff File
mod - radiantcore/model/RenderableModelSurface.h Diff File
mod - radiantcore/model/StaticModelSurface.cpp Diff File
mod - radiantcore/model/StaticModelSurface.h Diff File
mod - radiantcore/model/export/Lwo2Exporter.cpp Diff File
mod - radiantcore/model/export/ModelExporter.cpp Diff File
mod - radiantcore/model/export/ModelExporterBase.h Diff File
mod - radiantcore/model/export/PatchSurface.cpp Diff File
mod - radiantcore/model/export/PatchSurface.h Diff File
mod - radiantcore/model/export/WavefrontExporter.cpp Diff File
mod - radiantcore/model/import/AseModel.cpp Diff File
mod - radiantcore/model/import/AseModel.h Diff File
mod - radiantcore/model/import/FbxModelLoader.cpp Diff File
mod - radiantcore/model/import/FbxSurface.h Diff File
mod - radiantcore/model/md5/MD5Surface.cpp Diff File
mod - radiantcore/model/md5/MD5Surface.h Diff File
mod - radiantcore/model/md5/RenderableMD5Skeleton.h Diff File
mod - radiantcore/model/picomodel/PicoModelLoader.cpp Diff File
mod - radiantcore/particles/RenderableParticleBunch.cpp Diff File
mod - radiantcore/particles/RenderableParticleBunch.h Diff File
mod - radiantcore/particles/RenderableParticleStage.cpp Diff File
mod - radiantcore/patch/Patch.cpp Diff File
mod - radiantcore/patch/PatchRenderables.cpp Diff File
mod - radiantcore/patch/PatchRenderables.h Diff File
mod - radiantcore/patch/PatchTesselation.cpp Diff File
mod - radiantcore/patch/PatchTesselation.h Diff File
mod - radiantcore/rendersystem/backend/GeometryRenderer.h Diff File
mod - radiantcore/rendersystem/backend/GeometryStore.h Diff File
mod - radiantcore/rendersystem/backend/ObjectRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShader.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShader.h Diff File
mod - radiantcore/rendersystem/backend/WindingRenderer.h Diff File
mod - radiantcore/selection/manipulators/Renderables.h Diff File
mod - test/ModelExport.cpp Diff File
mod - test/Models.cpp Diff File
mod - test/WindingRendering.cpp Diff File
mod - tools/msvc/libs.vcxproj Diff File
mod - tools/msvc/libs.vcxproj.filters Diff File

DarkRadiant: master 3490d0a3

05.03.2022 04:54

greebo


Details Diff
0005912: Move GeometryStore implementation to render libs, to make it accessible to unit tests Affected Issues
0005912
mod - radiantcore/rendersystem/OpenGLRenderSystem.h Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File
mod - tools/msvc/libs.vcxproj Diff File
mod - tools/msvc/libs.vcxproj.filters Diff File

DarkRadiant: master 52e15d1e

05.03.2022 05:17

greebo


Details Diff
0005912: Fence sync objects are now handled through interfaces, to keep the GL calls encapsulated in the backend. Affected Issues
0005912
mod - include/igeometrystore.h Diff File
mod - libs/render/GeometryStore.h Diff File
mod - radiantcore/rendersystem/OpenGLRenderSystem.cpp Diff File
mod - radiantcore/rendersystem/OpenGLRenderSystem.h Diff File
add - radiantcore/rendersystem/backend/FenceSyncProvider.h Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File

DarkRadiant: master e8d8a4c9

05.03.2022 05:30

greebo


Details Diff
0005912: Start creating unit tests covering the GeometryStore implementation Affected Issues
0005912
mod - test/CMakeLists.txt Diff File
add - test/GeometryStore.cpp Diff File
mod - tools/msvc/Tests/Tests.vcxproj Diff File
mod - tools/msvc/Tests/Tests.vcxproj.filters Diff File

DarkRadiant: master 9d6ed582

05.03.2022 06:21

greebo


Details Diff
0005912: Allocation and data storage tests Affected Issues
0005912
mod - test/GeometryStore.cpp Diff File

DarkRadiant: master 4af65995

05.03.2022 06:59

greebo


Details Diff
0005912: IGeometryStore API is covered now Affected Issues
0005912
mod - test/GeometryStore.cpp Diff File

DarkRadiant: master 566d3bbb

05.03.2022 07:58

greebo


Details Diff
0005912: Add an elaborate test to check the data remains intact when switching frame buffers Affected Issues
0005912
mod - test/GeometryStore.cpp Diff File

DarkRadiant: master 02409114

05.03.2022 18:01

greebo


Details Diff
0005912: Extend IGeometryStore interface to allow for index remaps. It allows existing slots containing vertices to be re-used with a custom set of indices. Affected Issues
0005912
mod - include/igeometrystore.h Diff File
mod - libs/render/GeometryStore.h Diff File
mod - test/GeometryStore.cpp Diff File

DarkRadiant: master 225f6c8c

05.03.2022 18:43

greebo


Details Diff
0005912: Implement the new IGeometryStore methods. Expand unit tests. Affected Issues
0005912
mod - include/igeometrystore.h Diff File
mod - libs/render/GeometryStore.h Diff File
mod - test/GeometryStore.cpp Diff File

DarkRadiant: master 9a9526a0

06.03.2022 04:51

greebo


Details Diff
0005912: Unit tests covering IGeometryStore::getBounds(), which is only considering referenced vertices in the bounds calculation now. Affected Issues
0005912
mod - include/igeometrystore.h Diff File
mod - libs/render/GeometryStore.h Diff File
mod - test/GeometryStore.cpp Diff File

DarkRadiant: master 3227049c

06.03.2022 04:54

greebo


Details Diff
0005912: Since ContinuousBuffer::allocate will not alter any data, we can simplify the logic in applyTransactions() Affected Issues
0005912
mod - libs/render/ContinuousBuffer.h Diff File

DarkRadiant: master 4f37ccf7

06.03.2022 06:10

greebo


Details Diff
0005912: Re-implement the way brush windings are assembled for lighting mode rendering.
The winding vertex data is now re-used and a new set of indices is used to render those that are attached to the same entity.
Affected Issues
0005912
mod - radiantcore/rendersystem/backend/WindingRenderer.h Diff File

DarkRadiant: master 77137302

06.03.2022 06:51

greebo


Details Diff
0005912: Fix a bug in RenderableWinding, causing too many re-allocations Affected Issues
0005912
mod - radiantcore/brush/RenderableWinding.h Diff File

DarkRadiant: master 8286d778

06.03.2022 07:50

greebo


Details Diff
0005912: IRenderableObject give a hint on their transformation matrix now, since most objects are using identity transforms. Affected Issues
0005912
mod - include/irenderableobject.h Diff File
mod - libs/render/RenderableBox.h Diff File
mod - libs/render/RenderableGeometry.h Diff File
mod - radiantcore/model/RenderableModelSurface.h Diff File
mod - radiantcore/rendersystem/backend/WindingRenderer.h Diff File

DarkRadiant: master e423e3c3

06.03.2022 07:57

greebo


Details Diff
0005912: Oriented objects use an oriented bounds check, everything else can use the cheaper version. Affected Issues
0005912
mod - radiantcore/entity/RenderableObjectCollection.h Diff File

DarkRadiant: master 19a53377

06.03.2022 14:45

greebo


Details Diff
0005912: Submit untransformed geometry in batched glMultiDraw Affected Issues
0005912
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File

DarkRadiant: master 1c6c23da

06.03.2022 16:06

greebo


Details Diff
0005912: Use a std::vector to process all geometry slots Affected Issues
0005912
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/ObjectRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/ObjectRenderer.h Diff File

DarkRadiant: master fabe5e3b

06.03.2022 16:21

greebo


Details Diff
0005912: Submit all objects with identity transforms in one batch Affected Issues
0005912
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File

DarkRadiant: master fc0fc7bc

06.03.2022 16:49

greebo


Details Diff
0005912: When the last winding leaves the house, we run a cleanup round to release allocated storage (it's likely the last chance to do this since the associated shader might not be used for rendering after this point). Affected Issues
0005912
mod - radiantcore/rendersystem/backend/WindingRenderer.h Diff File

DarkRadiant: master e23c0e61

06.03.2022 18:23

greebo


Details Diff
0005912: Before drawing any geometry, make sure everything is committed to the IGeometryStore Affected Issues
0005912
mod - radiantcore/rendersystem/backend/FullBrightRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/LightingModeRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShader.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShader.h Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.h Diff File
mod - radiantcore/rendersystem/backend/SurfaceRenderer.h Diff File
mod - radiantcore/rendersystem/backend/WindingRenderer.h Diff File

DarkRadiant: master f2263f0b

10.03.2022 18:18

greebo


Details Diff
0005912: Introduce interfaces for buffer objects, used by the GeometryStore to sync its internal data to the buffer object.
WIP, the ContinuousBuffer is not yet tracking the modified memory range properly.
Affected Issues
0005912
mod - include/igeometrystore.h Diff File
mod - libs/render/ContinuousBuffer.h Diff File
mod - libs/render/GeometryStore.h Diff File
mod - radiantcore/rendersystem/OpenGLRenderSystem.cpp Diff File
mod - radiantcore/rendersystem/OpenGLRenderSystem.h Diff File
add - radiantcore/rendersystem/backend/BufferObjectProvider.h Diff File
mod - radiantcore/rendersystem/backend/FullBrightRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/FullBrightRenderer.h Diff File
mod - radiantcore/rendersystem/backend/LightingModeRenderer.cpp Diff File
mod - test/GeometryStore.cpp Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File

DarkRadiant: master 22af7587

11.03.2022 03:59

greebo


Details Diff
0005912: Buffer is uploading changed data to the buffer objects Affected Issues
0005912
mod - include/igeometrystore.h Diff File
mod - libs/render/ContinuousBuffer.h Diff File
mod - libs/render/GeometryStore.h Diff File
mod - radiantcore/rendersystem/backend/BufferObjectProvider.h Diff File
mod - test/GeometryStore.cpp Diff File

DarkRadiant: master 89fe375a

11.03.2022 05:26

greebo


Details Diff
0005912: Add unit tests checking the ContinuousBuffer::syncModificationsToBufferObject method Affected Issues
0005912
mod - test/ContinuousBuffer.cpp Diff File
mod - test/GeometryStore.cpp Diff File
add - test/testutil/TestBufferObjectProvider.h Diff File
mod - tools/msvc/Tests/Tests.vcxproj Diff File
mod - tools/msvc/Tests/Tests.vcxproj.filters Diff File

DarkRadiant: master 918d5f58

11.03.2022 06:03

greebo


Details Diff
0005912: More unit tests covering the sync behaviour Affected Issues
0005912
mod - test/ContinuousBuffer.cpp Diff File
mod - test/testutil/TestBufferObjectProvider.h Diff File

DarkRadiant: master b8648553

11.03.2022 07:33

greebo


Details Diff
0005912: First attempt to render the geometry data stored in the GPU buffer objects Affected Issues
0005912
mod - include/igeometrystore.h Diff File
mod - libs/render/GeometryStore.h Diff File
mod - radiantcore/rendersystem/backend/BufferObjectProvider.h Diff File
mod - radiantcore/rendersystem/backend/ObjectRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/SurfaceRenderer.h Diff File
mod - radiantcore/rendersystem/backend/WindingRenderer.h Diff File
mod - test/testutil/TestBufferObjectProvider.h Diff File

DarkRadiant: master 66cc34e2

11.03.2022 10:20

greebo


Details Diff
0005912: Try to minimize the amount of copied memory Affected Issues
0005912
mod - libs/render/ContinuousBuffer.h Diff File
mod - test/ContinuousBuffer.cpp Diff File

DarkRadiant: master 74858bb2

11.03.2022 10:25

greebo


Details Diff
0005912: Remove modified range member Affected Issues
0005912
mod - libs/render/ContinuousBuffer.h Diff File

DarkRadiant: master 32efed87

11.03.2022 13:32

greebo


Details Diff
0005912: Vertex and index buffer objects are bound once at the beginning of the render phase. All geometry is submitted under the assumption that the buffer is active, the render params returned by the GeometryStore are generated relative to the buffer start. Affected Issues
0005912
mod - include/igeometrystore.h Diff File
mod - libs/render/GeometryStore.h Diff File
mod - radiantcore/rendersystem/backend/BufferObjectProvider.h Diff File
mod - radiantcore/rendersystem/backend/FullBrightRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/GeometryRenderer.h Diff File
mod - radiantcore/rendersystem/backend/LightingModeRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/ObjectRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/ObjectRenderer.h Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.h Diff File
mod - radiantcore/rendersystem/backend/SceneRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/SurfaceRenderer.h Diff File
mod - test/testutil/TestBufferObjectProvider.h Diff File

DarkRadiant: master 5b74a8cf

11.03.2022 16:45

greebo


Details Diff
0005912: Remove glFrontFace calls that were never changing any state Affected Issues
0005912
mod - radiantcore/rendersystem/backend/ObjectRenderer.cpp Diff File

DarkRadiant: master ffcba59e

11.03.2022 16:51

greebo


Details Diff
0005912: Remove unneeded glMatrixMode calls Affected Issues
0005912
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.cpp Diff File

DarkRadiant: master ecb98d90

12.03.2022 06:00

greebo


Details Diff
0005912: Don't bother adding the depth fill pass to the sorted state map, which is used for full bright rendering only Affected Issues
0005912
mod - radiantcore/rendersystem/backend/OpenGLShader.cpp Diff File

DarkRadiant: master 0b472003

12.03.2022 07:15

greebo


Details Diff
0005912: Fix unit tests by exposing the buffer start address in client memory Affected Issues
0005912
mod - include/igeometrystore.h Diff File
mod - libs/render/GeometryStore.h Diff File
mod - test/GeometryStore.cpp Diff File

DarkRadiant: build_debug e846a125

12.03.2022 08:06

greebo


Details Diff
0005912: Remove a few client state change calls. The GL VertexAttribArrays are disabled by default, GLSL programs enable the required vertex attribute arrays when activated. Affected Issues
0005912
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/SceneRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLDepthFillAlphaProgram.cpp Diff File

DarkRadiant: master 51ab0ed4

12.03.2022 15:31

greebo


Details Diff
0005912: Skip setting the object transform using glMultMatrix, instead pass the object transform to the GLSL shader.
Remove unused z-fill program without alphatest.
Affected Issues
0005912
mod - install/gl/interaction_vp.glsl Diff File
mod - install/gl/zfill_alpha_fp.glsl Diff File
mod - install/gl/zfill_vp.glsl Diff File
mod - radiantcore/CMakeLists.txt Diff File
mod - radiantcore/rendersystem/backend/DepthFillPass.h Diff File
mod - radiantcore/rendersystem/backend/GLProgramFactory.cpp Diff File
mod - radiantcore/rendersystem/backend/InteractionPass.h Diff File
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShader.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShader.h Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.h Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLDepthFillAlphaProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLDepthFillAlphaProgram.h Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File

DarkRadiant: master 01963874

12.03.2022 17:29

greebo


Details Diff
0005912: Move matrix uniform adapter to base class Affected Issues
0005912
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLDepthFillAlphaProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLProgramBase.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLProgramBase.h Diff File

DarkRadiant: master b196eb75

12.03.2022 17:45

greebo


Details Diff
0005912: Fix GLSL compilation errors in Mesa driver Affected Issues
0005912
mod - install/gl/interaction_vp.glsl Diff File
mod - install/gl/zfill_vp.glsl Diff File

Issue History

Date Modified Username Field Change
03.03.2022 13:33 greebo New Issue
03.03.2022 13:33 greebo Assigned To => greebo
03.03.2022 13:33 greebo Status new => assigned
03.03.2022 15:09 greebo Changeset attached => DarkRadiant master ca502c01
03.03.2022 15:09 greebo Changeset attached => DarkRadiant master 090856d0
03.03.2022 15:09 greebo Changeset attached => DarkRadiant master c645f32d
03.03.2022 15:09 greebo Changeset attached => DarkRadiant master 7813e634
03.03.2022 15:09 greebo Changeset attached => DarkRadiant master ddaadc72
03.03.2022 15:09 greebo Changeset attached => DarkRadiant master d6c9f1e5
03.03.2022 15:09 greebo Changeset attached => DarkRadiant master 3b9823c9
03.03.2022 16:45 greebo Changeset attached => DarkRadiant master a424ebbf
03.03.2022 16:45 greebo Changeset attached => DarkRadiant master 6ba8fa90
04.03.2022 16:51 greebo Changeset attached => DarkRadiant master 5e428097
04.03.2022 16:51 greebo Changeset attached => DarkRadiant master 0517e606
04.03.2022 16:51 greebo Changeset attached => DarkRadiant master c466e903
04.03.2022 16:51 greebo Changeset attached => DarkRadiant master 18f5e5dc
04.03.2022 16:51 greebo Changeset attached => DarkRadiant master 20a0444a
04.03.2022 16:51 greebo Changeset attached => DarkRadiant master d0dc716e
04.03.2022 16:51 greebo Changeset attached => DarkRadiant master ac5ba825
04.03.2022 16:51 greebo Changeset attached => DarkRadiant master e8207fa3
04.03.2022 16:51 greebo Changeset attached => DarkRadiant master d2edf2e5
04.03.2022 16:51 greebo Changeset attached => DarkRadiant master 2c4176de
05.03.2022 04:00 greebo Changeset attached => DarkRadiant master 7b013185
05.03.2022 04:00 greebo Changeset attached => DarkRadiant master 563d6f95
05.03.2022 04:00 greebo Changeset attached => DarkRadiant master df6c08a1
05.03.2022 04:00 greebo Changeset attached => DarkRadiant master 15a6c9ce
05.03.2022 04:00 greebo Changeset attached => DarkRadiant master 34100c9e
05.03.2022 04:00 greebo Changeset attached => DarkRadiant master ab413fd5
05.03.2022 07:58 greebo Changeset attached => DarkRadiant master 3490d0a3
05.03.2022 07:58 greebo Changeset attached => DarkRadiant master 52e15d1e
05.03.2022 07:58 greebo Changeset attached => DarkRadiant master e8d8a4c9
05.03.2022 07:58 greebo Changeset attached => DarkRadiant master 9d6ed582
05.03.2022 07:58 greebo Changeset attached => DarkRadiant master 4af65995
05.03.2022 07:58 greebo Changeset attached => DarkRadiant master 566d3bbb
06.03.2022 04:51 greebo Changeset attached => DarkRadiant master 02409114
06.03.2022 04:51 greebo Changeset attached => DarkRadiant master 225f6c8c
06.03.2022 04:51 greebo Changeset attached => DarkRadiant master 9a9526a0
06.03.2022 18:23 greebo Changeset attached => DarkRadiant master 3227049c
06.03.2022 18:23 greebo Changeset attached => DarkRadiant master 4f37ccf7
06.03.2022 18:23 greebo Changeset attached => DarkRadiant master 77137302
06.03.2022 18:23 greebo Changeset attached => DarkRadiant master 8286d778
06.03.2022 18:23 greebo Changeset attached => DarkRadiant master e423e3c3
06.03.2022 18:23 greebo Changeset attached => DarkRadiant master 19a53377
06.03.2022 18:23 greebo Changeset attached => DarkRadiant master 1c6c23da
06.03.2022 18:23 greebo Changeset attached => DarkRadiant master fabe5e3b
06.03.2022 18:23 greebo Changeset attached => DarkRadiant master fc0fc7bc
06.03.2022 18:23 greebo Changeset attached => DarkRadiant master e23c0e61
12.03.2022 05:45 greebo Changeset attached => DarkRadiant master f2263f0b
12.03.2022 05:45 greebo Changeset attached => DarkRadiant master 22af7587
12.03.2022 05:45 greebo Changeset attached => DarkRadiant master 89fe375a
12.03.2022 05:45 greebo Changeset attached => DarkRadiant master 918d5f58
12.03.2022 05:45 greebo Changeset attached => DarkRadiant master b8648553
12.03.2022 05:45 greebo Changeset attached => DarkRadiant master 66cc34e2
12.03.2022 05:45 greebo Changeset attached => DarkRadiant master 74858bb2
12.03.2022 05:45 greebo Changeset attached => DarkRadiant master 32efed87
12.03.2022 05:45 greebo Changeset attached => DarkRadiant master 5b74a8cf
12.03.2022 05:45 greebo Changeset attached => DarkRadiant master ffcba59e
12.03.2022 07:15 greebo Changeset attached => DarkRadiant master ecb98d90
12.03.2022 07:15 greebo Changeset attached => DarkRadiant master 0b472003
12.03.2022 08:47 greebo Changeset attached => DarkRadiant build_debug e846a125
12.03.2022 17:34 greebo Changeset attached => DarkRadiant master 51ab0ed4
12.03.2022 17:34 greebo Changeset attached => DarkRadiant master 01963874
12.03.2022 17:46 greebo Changeset attached => DarkRadiant master b196eb75
12.03.2022 17:49 greebo Status assigned => resolved
12.03.2022 17:49 greebo Resolution open => fixed
12.03.2022 17:49 greebo Fixed in Version => 3.0.0
12.03.2022 17:49 greebo Note Added: 0014763
09.10.2022 17:37 greebo Status resolved => closed