Changesets: DarkRadiant
master b8648553 11.03.2022 07:33 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 | ||
master 918d5f58 11.03.2022 06:03 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 | ||
master 89fe375a 11.03.2022 05:26 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 | ||
master 22af7587 11.03.2022 03:59 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 | ||
master f2263f0b 10.03.2022 18:18 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 | ||
master 383f7322 09.03.2022 21:23 Details Diff |
0005907: EntityClass::_fileInfo is now an std::optional Use this C++17 template to avoid needing to create a dummy FileInfo when constructing an entity which wasn't loaded from a file. |
Affected Issues 0005907 |
|
mod - radiantcore/eclass/EClassManager.cpp | Diff File | ||
mod - radiantcore/eclass/EntityClass.cpp | Diff File | ||
mod - radiantcore/eclass/EntityClass.h | Diff File | ||
master 9b4d329f 09.03.2022 20:46 Details Diff |
0005907: remove redundant EntityClass constructor For some reason there was a whole separate constructor just to default the fixedSize parameter to false. This is now using a simple default argument value. |
Affected Issues 0005907 |
|
mod - radiantcore/eclass/EntityClass.cpp | Diff File | ||
mod - radiantcore/eclass/EntityClass.h | Diff File | ||
master e61117c0 08.03.2022 20:54 Details Diff |
Non-virtual updateGeometry() is now updateGeometryWithData() The combination of virtual and non-virtual implementing methods is a solid design, but functions calling overloads of themselves can be confusing in terms of IDE navigation. The non-virtual updateGeometry() which accepts vertex and index data is therefore renamed to updateGeometryWithData() to clearly distinguish it from the no-argument updateGeometry() which must be overridden by subclasses. |
||
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 - radiantcore/brush/RenderableBrushVertices.cpp | 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/target/RenderableTargetLines.h | Diff File | ||
mod - radiantcore/map/RenderablePointFile.h | Diff File | ||
mod - radiantcore/model/md5/RenderableMD5Skeleton.h | Diff File | ||
mod - radiantcore/particles/RenderableParticleStage.cpp | Diff File | ||
mod - radiantcore/patch/PatchRenderables.cpp | Diff File | ||
mod - radiantcore/patch/PatchRenderables.h | Diff File | ||
mod - radiantcore/selection/manipulators/Renderables.h | Diff File | ||
master 18772d4d 08.03.2022 20:24 Details Diff |
Move draw_semicircle() body into RenderableSemiCircle class | ||
mod - libs/render.h | Diff File | ||
mod - radiantcore/selection/manipulators/Renderables.h | Diff File | ||
master e23c0e61 06.03.2022 18:23 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 | ||
master fc0fc7bc 06.03.2022 16:49 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 | ||
master fabe5e3b 06.03.2022 16:21 Details Diff |
0005912: Submit all objects with identity transforms in one batch |
Affected Issues 0005912 |
|
mod - radiantcore/rendersystem/backend/LightInteractions.cpp | Diff File | ||
master 1c6c23da 06.03.2022 16:06 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 | ||
master 19a53377 06.03.2022 14:45 Details Diff |
0005912: Submit untransformed geometry in batched glMultiDraw |
Affected Issues 0005912 |
|
mod - radiantcore/rendersystem/backend/LightInteractions.cpp | Diff File | ||
master e423e3c3 06.03.2022 07:57 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 | ||
master 8286d778 06.03.2022 07:50 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 | ||
master 77137302 06.03.2022 06:51 Details Diff |
0005912: Fix a bug in RenderableWinding, causing too many re-allocations |
Affected Issues 0005912 |
|
mod - radiantcore/brush/RenderableWinding.h | Diff File | ||
master 4f37ccf7 06.03.2022 06:10 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 | ||
master 3227049c 06.03.2022 04:54 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 | ||
master 9a9526a0 06.03.2022 04:51 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 | ||
master 225f6c8c 05.03.2022 18:43 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 | ||
master 02409114 05.03.2022 18:01 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 | ||
master 566d3bbb 05.03.2022 07:58 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 | ||
master 4af65995 05.03.2022 06:59 Details Diff |
0005912: IGeometryStore API is covered now |
Affected Issues 0005912 |
|
mod - test/GeometryStore.cpp | Diff File | ||
master 9d6ed582 05.03.2022 06:21 Details Diff |
0005912: Allocation and data storage tests |
Affected Issues 0005912 |
|
mod - test/GeometryStore.cpp | Diff File |