TestTriangle
This commit is contained in:
@@ -37,17 +37,17 @@ void TestTriangle::onLoad() {
|
|||||||
|
|
||||||
wm->getRenderer()->getCmdList().push_back([this](){
|
wm->getRenderer()->getCmdList().push_back([this](){
|
||||||
// 0. copy our vertices array in a buffer for OpenGL to use
|
// 0. copy our vertices array in a buffer for OpenGL to use
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, vbo);
|
//glBindBuffer(GL_ARRAY_BUFFER, vbo);
|
||||||
glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
|
//glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
|
||||||
// 1. then set the vertex attributes pointers
|
// 1. then set the vertex attributes pointers
|
||||||
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0);
|
//glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0);
|
||||||
glEnableVertexAttribArray(0);
|
//glEnableVertexAttribArray(0);
|
||||||
// 2. use our shader program when we want to render an object
|
// 2. use our shader program when we want to render an object
|
||||||
glUseProgram(program);
|
glUseProgram(program);
|
||||||
glBindVertexArray(vao);
|
glBindVertexArray(vao);
|
||||||
// 3. now draw the object
|
// 3. now draw the object
|
||||||
glDrawArrays(GL_TRIANGLES, 0, 3);
|
glDrawArrays(GL_TRIANGLES, 0, 3);
|
||||||
glBindVertexArray(0);
|
//glBindVertexArray(0);
|
||||||
});
|
});
|
||||||
|
|
||||||
rcmd_it = --wm->getRenderer()->getCmdList().end()++;
|
rcmd_it = --wm->getRenderer()->getCmdList().end()++;
|
||||||
@@ -55,10 +55,15 @@ void TestTriangle::onLoad() {
|
|||||||
////////////////////////
|
////////////////////////
|
||||||
|
|
||||||
glGenBuffers(1, &vbo);
|
glGenBuffers(1, &vbo);
|
||||||
|
glGenVertexArrays(1, &vao);
|
||||||
|
|
||||||
|
glBindVertexArray(vao);
|
||||||
|
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, vbo);
|
glBindBuffer(GL_ARRAY_BUFFER, vbo);
|
||||||
glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
|
glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
|
||||||
|
|
||||||
glGenVertexArrays(1, &vao);
|
glBindBuffer(GL_ARRAY_BUFFER, 0);
|
||||||
|
glBindVertexArray(0);
|
||||||
|
|
||||||
vs = glCreateShader(GL_VERTEX_SHADER);
|
vs = glCreateShader(GL_VERTEX_SHADER);
|
||||||
glShaderSource(vs, 1, &vertexShaderSource, NULL);
|
glShaderSource(vs, 1, &vertexShaderSource, NULL);
|
||||||
|
|||||||
@@ -23,9 +23,9 @@ class TestTriangle : public Archimedes::Module {
|
|||||||
std::list<std::function<void()>>::iterator rcmd_it;
|
std::list<std::function<void()>>::iterator rcmd_it;
|
||||||
|
|
||||||
float vertices[3 * 3] = {
|
float vertices[3 * 3] = {
|
||||||
0.5, 0.5, 0.0,
|
-0.5f, -0.5f, 0.0f,
|
||||||
0.5, 0.5, 0.0,
|
0.5f, -0.5f, 0.0f,
|
||||||
0.0, 0.5, 0.0
|
0.0f, 0.5f, 0.0f
|
||||||
};
|
};
|
||||||
|
|
||||||
unsigned int vao, vbo, vs, fs, program;
|
unsigned int vao, vbo, vs, fs, program;
|
||||||
|
|||||||
Reference in New Issue
Block a user