add draw types
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user