add draw types

This commit is contained in:
2026-02-16 22:41:20 -06:00
parent 5fd5eb892b
commit fda88a906b
4 changed files with 64 additions and 15 deletions

View File

@@ -173,6 +173,7 @@ namespace Archimedes {
return rt;
};
void useRenderTarget(RenderTarget& rt) override {
glGenVertexArrays(1, &rt.vertexArray.id);
@@ -202,7 +203,7 @@ namespace Archimedes {
};
void draw(const RenderTarget& rt) override {
void draw(const RenderTarget& rt, RenderMode mode) override {
glUseProgram(rt.shader.id);
@@ -218,7 +219,17 @@ namespace Archimedes {
glBindVertexArray(rt.vertexArray.id);
glDrawElements(GL_TRIANGLES, rt.indexArray.getCount(), GL_UNSIGNED_INT, nullptr);
switch(mode) {
case RenderMode::Triangles:
glDrawElements(GL_TRIANGLES, rt.indexArray.getCount(), GL_UNSIGNED_INT, nullptr);
case RenderMode::Lines:
glDrawElements(GL_LINES, rt.indexArray.getCount(), GL_UNSIGNED_INT, nullptr);
case RenderMode::Points:
glDrawElements(GL_POINTS, rt.indexArray.getCount(), GL_UNSIGNED_INT, nullptr);
default:
break;
}
glBindVertexArray(0);
}