fix equirectangular shader for higher precision, add polygon draw mode

This commit is contained in:
2017-05-09 08:47:20 +01:00
parent 2e8c0d0865
commit 6548ac3748
11 changed files with 278 additions and 52 deletions

View File

@@ -1980,7 +1980,7 @@ public:
m_mouse_ignore = false;
m_canvas = std::make_unique<ui::Canvas>();
m_canvas->create(1024, 1024);
m_sampler.create();
m_sampler.create(GL_NEAREST);
m_face_plane.create<1>(2, 2);
m_line.create();
CanvasMode::node = this;
@@ -1993,7 +1993,7 @@ public:
{
Node::restore_context();
m_canvas->create(1024, 1024);
m_sampler.create();
m_sampler.create(GL_NEAREST);
m_face_plane.create<1>(2, 2);
m_canvas->snapshot_restore();
CanvasMode::node = this;
@@ -2080,6 +2080,11 @@ public:
for (auto& mode : *m_canvas->m_mode)
mode->on_Draw(ortho_proj, proj, camera);
// keep drawing the grids
if (m_canvas->m_state != ui::Canvas::kCanvasMode::Grid)
for (auto& mode : ui::Canvas::modes[(int)ui::Canvas::kCanvasMode::Grid])
mode->on_Draw(ortho_proj, proj, camera);
//ui::ShaderManager::use(kShader::Equirect);
//ui::ShaderManager::u_mat4(kShaderUniform::MVP, glm::scale(glm::vec3(.5, .5, 1)));
//ui::ShaderManager::u_int(kShaderUniform::Tex, 0);