TestTriangle
This commit is contained in:
@@ -26,7 +26,7 @@ namespace Archimedes {
|
||||
void render(std::list<std::function<void()>> cmdList, int& w, int& h) {
|
||||
|
||||
glViewport(0, 0, w, h);
|
||||
|
||||
glClearColor(0.2, 0.2, 0.4, 1);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
|
||||
for(auto f : cmdList)
|
||||
|
||||
@@ -47,6 +47,7 @@ void TestTriangle::onLoad() {
|
||||
glBindVertexArray(vao);
|
||||
// 3. now draw the object
|
||||
glDrawArrays(GL_TRIANGLES, 0, 3);
|
||||
glBindVertexArray(0);
|
||||
});
|
||||
|
||||
rcmd_it = --wm->getRenderer()->getCmdList().end()++;
|
||||
@@ -63,16 +64,40 @@ void TestTriangle::onLoad() {
|
||||
glShaderSource(vs, 1, &vertexShaderSource, NULL);
|
||||
glCompileShader(vs);
|
||||
|
||||
glGetShaderiv(vs, GL_COMPILE_STATUS, &success);
|
||||
|
||||
if(!success) {
|
||||
std::cout << "shader linking failed!" << std::endl;
|
||||
std::abort();
|
||||
};
|
||||
|
||||
|
||||
fs = glCreateShader(GL_FRAGMENT_SHADER);
|
||||
glShaderSource(fs, 1, &fragShaderSource, NULL);
|
||||
glCompileShader(fs);
|
||||
|
||||
glGetShaderiv(fs, GL_COMPILE_STATUS, &success);
|
||||
|
||||
if(!success) {
|
||||
std::cout << "shader linking failed!" << std::endl;
|
||||
std::abort();
|
||||
};
|
||||
|
||||
|
||||
program = glCreateProgram();
|
||||
|
||||
glAttachShader(program, vs);
|
||||
glAttachShader(program, fs);
|
||||
glLinkProgram(program);
|
||||
|
||||
glGetProgramiv(program, GL_LINK_STATUS, &success);
|
||||
|
||||
if(!success) {
|
||||
std::cout << "shader linking failed!" << std::endl;
|
||||
std::abort();
|
||||
};
|
||||
|
||||
|
||||
glDeleteShader(vs);
|
||||
glDeleteShader(fs);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user