Skip to content

Commit

Permalink
#5912: Split ObjectRenderer method to provide a public method that ca…
Browse files Browse the repository at this point in the history
…n submit a single geometry slot
  • Loading branch information
codereader committed Mar 3, 2022
1 parent 6b1b7e1 commit ca502c0
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 5 deletions.
15 changes: 10 additions & 5 deletions radiantcore/rendersystem/backend/ObjectRenderer.cpp
Expand Up @@ -19,13 +19,20 @@ void ObjectRenderer::SubmitObject(IRenderableObject& object, IGeometryStore& sto
glFrontFace(GL_CCW);
}

// Orient the object
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glMultMatrixd(object.getObjectTransform());

auto renderParams = store.getRenderParameters(object.getStorageLocation());
// Submit the geometry of this single slot
SubmitGeometry(object.getStorageLocation(), store);

glPushMatrix();
glPopMatrix();
}

glMultMatrixd(object.getObjectTransform());
void ObjectRenderer::SubmitGeometry(IGeometryStore::Slot slot, IGeometryStore& store)
{
auto renderParams = store.getRenderParameters(slot);

glVertexPointer(3, GL_DOUBLE, sizeof(ArbitraryMeshVertex), &renderParams.bufferStart->vertex);
glColorPointer(4, GL_DOUBLE, sizeof(ArbitraryMeshVertex), &renderParams.bufferStart->colour);
Expand All @@ -40,8 +47,6 @@ void ObjectRenderer::SubmitObject(IRenderableObject& object, IGeometryStore& sto

glDrawElementsBaseVertex(GL_TRIANGLES, static_cast<GLsizei>(renderParams.indexCount),
GL_UNSIGNED_INT, renderParams.firstIndex, static_cast<GLint>(renderParams.firstVertex));

glPopMatrix();
}

}
4 changes: 4 additions & 0 deletions radiantcore/rendersystem/backend/ObjectRenderer.h
Expand Up @@ -11,7 +11,11 @@ class IRenderableObject;
class ObjectRenderer
{
public:
// Draws the given object, sets up transform and submits geometry
static void SubmitObject(IRenderableObject& object, IGeometryStore& store);

// Draws the geometry of the given slot, no transforms
static void SubmitGeometry(IGeometryStore::Slot slot, IGeometryStore& store);
};

}

0 comments on commit ca502c0

Please sign in to comment.