render obj file
This commit is contained in:
@@ -211,16 +211,25 @@ namespace Archimedes {
|
||||
glDeleteBuffers(1, &rt.indexArray.id);
|
||||
};
|
||||
|
||||
void draw(const RenderTarget& rt, glm::vec4 color = { 1.0f, 0.0f, 1.0f, 1.0f }, RenderMode mode = RenderMode::Triangles) override {
|
||||
void draw(
|
||||
const RenderTarget& rt,
|
||||
const glm::mat4 world = glm::mat4(1.0f),
|
||||
const glm::mat4 view = glm::mat4(1.0f),
|
||||
const glm::mat4 proj = glm::mat4(1.0f),
|
||||
glm::vec4 color = { 1.0f, 0.0f, 1.0f, 1.0f },
|
||||
RenderMode mode = RenderMode::Triangles
|
||||
) override {
|
||||
|
||||
glUseProgram(rt.shader.id);
|
||||
|
||||
unsigned int transformLoc = glGetUniformLocation(rt.shader.id, "model");
|
||||
glUniformMatrix4fv(transformLoc, 1, GL_FALSE, glm::value_ptr(rt.transform));
|
||||
unsigned int modelLoc = glGetUniformLocation(rt.shader.id, "model");
|
||||
glUniformMatrix4fv(modelLoc, 1, GL_FALSE, glm::value_ptr(world));
|
||||
|
||||
unsigned int viewLoc = glGetUniformLocation(rt.shader.id, "view");
|
||||
glUniformMatrix4fv(viewLoc, 1, GL_FALSE, glm::value_ptr(view));
|
||||
|
||||
unsigned int resLoc = glGetUniformLocation(rt.shader.id, "res");
|
||||
glUniform2ui(resLoc, w, h);
|
||||
unsigned int projLoc = glGetUniformLocation(rt.shader.id, "proj");
|
||||
glUniformMatrix4fv(projLoc, 1, GL_FALSE, glm::value_ptr(proj));
|
||||
|
||||
unsigned int colorLoc = glGetUniformLocation(rt.shader.id, "color");
|
||||
glUniform4f(colorLoc, color.r, color.g, color.b, color.a);
|
||||
|
||||
Reference in New Issue
Block a user