5a9765b111
There is an OpenGL error (1282) invalid operation that is getting caught when switching to the imagescene. This needs to get fixed and then hopefully the whole thing will work.
49 lines
850 B
C++
49 lines
850 B
C++
#include "ImageScene.h"
|
|
|
|
#include "stdafx.h"
|
|
|
|
#include "GLUtil.h"
|
|
#include "MeshFactory.h"
|
|
|
|
namespace charcoal
|
|
{
|
|
namespace builtin
|
|
{
|
|
namespace image
|
|
{
|
|
void Scene::init()
|
|
{
|
|
for (auto iter = m_batches.begin(); iter != m_batches.end(); ++iter)
|
|
{
|
|
Batch& batch = *iter;
|
|
batch.init();
|
|
add_prerenderable(&batch);
|
|
}
|
|
}
|
|
|
|
void Scene::use()
|
|
{
|
|
// TODO: move to glutil
|
|
glEnable(GL_DEPTH_TEST);
|
|
glDepthFunc(GL_LESS);
|
|
}
|
|
|
|
void Scene::unuse()
|
|
{
|
|
|
|
}
|
|
|
|
void Scene::render()
|
|
{
|
|
glutil::clear_screen();
|
|
m_shader_program.use();
|
|
glutil::uniform_matrix(0, get_camera()->get_world_to_view_matrix());
|
|
glutil::uniform_int(4, 0); // The textured batch uses GL_TEXTURE0
|
|
for (auto iter = m_batches.begin(); iter != m_batches.end(); ++iter)
|
|
{
|
|
iter->render();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |