improve vr
This commit is contained in:
@@ -69,9 +69,10 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
|
||||
auto layer_index = canvas->m_canvas->m_order[i];
|
||||
for (int plane_index = 0; plane_index < 6; plane_index++)
|
||||
{
|
||||
if (!canvas->m_canvas->m_layers[layer_index]->m_visible ||
|
||||
if (!(canvas->m_canvas->m_show_tmp && canvas->m_canvas->m_current_layer_idx == layer_index) &&
|
||||
(!canvas->m_canvas->m_layers[layer_index]->m_visible ||
|
||||
canvas->m_canvas->m_layers[layer_index]->m_opacity == .0f ||
|
||||
!canvas->m_canvas->m_layers[layer_index]->m_dirty_face[plane_index])
|
||||
!canvas->m_canvas->m_layers[layer_index]->m_dirty_face[plane_index]))
|
||||
continue;
|
||||
|
||||
int z = (int)(canvas->m_canvas->m_order.size() - i);
|
||||
@@ -184,6 +185,7 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
|
||||
glm::vec3 aspect = { (float)uirtt.getWidth() / (float)uirtt.getHeight(), 1.f, 1.f };
|
||||
|
||||
// draw the frame
|
||||
if (ui_visible)
|
||||
{
|
||||
auto mvp = proj * camera *
|
||||
glm::scale(glm::vec3(100)) *
|
||||
@@ -197,7 +199,8 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
|
||||
}
|
||||
|
||||
// draw the brush
|
||||
if (auto mode = dynamic_cast<CanvasModePen*>(canvas->m_canvas->modes[(int)canvas->m_canvas->m_current_mode][0]))
|
||||
auto mode = dynamic_cast<CanvasModePen*>(canvas->m_canvas->modes[(int)canvas->m_canvas->m_current_mode][0]);
|
||||
if (ui_visible && mode)
|
||||
{
|
||||
auto pos = mode->m_resizing ? mode->m_size_pos_start : mode->m_cur_pos;
|
||||
if (App::I.keys[(int)kKey::KeyAlt] && !mode->m_resizing)
|
||||
@@ -207,6 +210,7 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
|
||||
ShaderManager::use(kShader::StrokePreview);
|
||||
ShaderManager::u_int(kShaderUniform::Tex, 0);
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, canvas->m_canvas->m_current_brush->m_tip_flow);
|
||||
ShaderManager::u_int(kShaderUniform::DrawOutline, false);
|
||||
auto tip_color = glm::vec4(glm::vec3(canvas->m_canvas->m_current_brush->m_tip_color), 1);
|
||||
ShaderManager::u_vec4(kShaderUniform::Col, tip_color);
|
||||
ShaderManager::u_mat4(kShaderUniform::MVP,
|
||||
@@ -245,6 +249,7 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
|
||||
}
|
||||
|
||||
// draw the cursor
|
||||
if (ui_visible)
|
||||
{
|
||||
auto cur = (glm::vec2(cursor.x / width * zoom, 1.f - cursor.y / height * zoom) - 0.5f) * 2.f;
|
||||
auto mvp = proj * camera *
|
||||
@@ -260,6 +265,7 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
|
||||
m_face_plane.draw_fill();
|
||||
}
|
||||
|
||||
/*
|
||||
// draw the motion controller sphere
|
||||
{
|
||||
auto mvp = proj * camera * glm::translate(glm::normalize(vr_controller_pos));
|
||||
@@ -268,6 +274,7 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
|
||||
ShaderManager::u_mat4(kShaderUniform::MVP, mvp * glm::scale(glm::vec3(.025)));
|
||||
sphere.draw_fill();
|
||||
}
|
||||
*/
|
||||
|
||||
// draw the motion controller brush
|
||||
{
|
||||
@@ -275,6 +282,7 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
|
||||
ShaderManager::use(kShader::StrokePreview);
|
||||
ShaderManager::u_int(kShaderUniform::Tex, 0);
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, canvas->m_canvas->m_current_brush->m_tip_flow);
|
||||
ShaderManager::u_int(kShaderUniform::DrawOutline, false);
|
||||
auto tip_color = glm::vec4(glm::vec3(canvas->m_canvas->m_current_brush->m_tip_color), 1);
|
||||
ShaderManager::u_vec4(kShaderUniform::Col, tip_color);
|
||||
ShaderManager::u_mat4(kShaderUniform::MVP,
|
||||
|
||||
Reference in New Issue
Block a user