charcoal/OpenGLEngine/MyBasicScene.cpp

54 lines
941 B
C++
Raw Normal View History

2018-09-11 05:18:17 +00:00
#include "MyBasicScene.h"
2018-09-04 19:25:54 +00:00
2018-09-11 05:18:17 +00:00
MyBasicScene::MyBasicScene(Application& application)
: Scene(application)
2018-09-04 19:25:54 +00:00
{
}
2018-09-11 05:18:17 +00:00
MyBasicScene::~MyBasicScene()
2018-09-04 19:25:54 +00:00
{
}
2018-09-11 05:18:17 +00:00
void MyBasicScene::init()
{
float points[] = {
0.0f, 0.5f, 0.0f,
0.5f, -0.5f, 0.0f,
-0.5f, -0.5f, 0.0f
};
glGenBuffers(1, &m_vbo);
glBindBuffer(GL_ARRAY_BUFFER, m_vbo);
glBufferData(GL_ARRAY_BUFFER, 9 * sizeof(float), points, GL_STATIC_DRAW);
glGenVertexArrays(1, &m_vao);
glBindVertexArray(m_vao);
glEnableVertexAttribArray(0);
glBindBuffer(GL_ARRAY_BUFFER, m_vbo);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, NULL);
}
2018-09-11 05:18:17 +00:00
void MyBasicScene::use()
2018-09-04 19:25:54 +00:00
{
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LESS);
2018-09-04 19:25:54 +00:00
}
2018-09-11 05:18:17 +00:00
void MyBasicScene::unuse()
2018-09-04 19:25:54 +00:00
{
}
2018-09-11 05:18:17 +00:00
void MyBasicScene::update(float delta_time, clock_t clock)
2018-09-04 19:25:54 +00:00
{
}
2018-09-11 05:18:17 +00:00
void MyBasicScene::render()
2018-09-04 19:25:54 +00:00
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
2018-09-05 06:49:02 +00:00
m_shader_program.use();
glBindVertexArray(m_vao);
glDrawArrays(GL_TRIANGLES, 0, 3);
2018-09-04 19:25:54 +00:00
}