fix vr controller pointer direction, remove vr rendering wait
This commit is contained in:
@@ -66,7 +66,7 @@ void App::vr_update(float dt)
|
|||||||
auto n = glm::normalize(glm::vec3(glm::vec4(0, 0, 1, 0) * mm));
|
auto n = glm::normalize(glm::vec3(glm::vec4(0, 0, 1, 0) * mm));
|
||||||
auto u = glm::normalize(glm::vec3(glm::vec4(0, 1, 0, 0) * mm));
|
auto u = glm::normalize(glm::vec3(glm::vec4(0, 1, 0, 0) * mm));
|
||||||
auto co = vr_controllers[0].get_pos();
|
auto co = vr_controllers[0].get_pos();
|
||||||
auto cd = glm::mat3(vr_controllers[0].m_mat) * glm::vec3(0, 0, -1);
|
auto cd = glm::mat3(vr_controllers[0].m_mat) * glm::mat3(glm::eulerAngleX(glm::radians(-30.f))) * glm::vec3(0, 0, -1);
|
||||||
ui_inside = false;
|
ui_inside = false;
|
||||||
glm::vec3 hit;
|
glm::vec3 hit;
|
||||||
float t;
|
float t;
|
||||||
@@ -426,7 +426,7 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
|
|||||||
// draw the motion controller sphere
|
// draw the motion controller sphere
|
||||||
if (vr_controllers_enabled && ui_visible && ui_inside)
|
if (vr_controllers_enabled && ui_visible && ui_inside)
|
||||||
{
|
{
|
||||||
auto mvp = proj * camera * vr_controllers[0].m_mat;
|
auto mvp = proj * camera * vr_controllers[0].m_mat * glm::eulerAngleX(glm::radians(-30.f));
|
||||||
ShaderManager::use(kShader::Color);
|
ShaderManager::use(kShader::Color);
|
||||||
ShaderManager::u_vec4(kShaderUniform::Col, { 1, 0, 1, 1 });
|
ShaderManager::u_vec4(kShaderUniform::Col, { 1, 0, 1, 1 });
|
||||||
ShaderManager::u_mat4(kShaderUniform::MVP, mvp * glm::scale(glm::vec3(.0125, .0125, .07)));
|
ShaderManager::u_mat4(kShaderUniform::MVP, mvp * glm::scale(glm::vec3(.0125, .0125, .07)));
|
||||||
|
|||||||
@@ -685,7 +685,7 @@ bool win32_vr_start()
|
|||||||
|
|
||||||
const int framerate = (1.f / target_tick_rate) * 1000;
|
const int framerate = (1.f / target_tick_rate) * 1000;
|
||||||
const int diff = framerate - (t1 - t0);
|
const int diff = framerate - (t1 - t0);
|
||||||
hmd_render_cv.wait_for(lock, std::chrono::milliseconds(diff));
|
//hmd_render_cv.wait_for(lock, std::chrono::milliseconds(diff));
|
||||||
t0 = t1;
|
t0 = t1;
|
||||||
}
|
}
|
||||||
App::I->vr_active = false;
|
App::I->vr_active = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user