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 u = glm::normalize(glm::vec3(glm::vec4(0, 1, 0, 0) * mm));
|
||||
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;
|
||||
glm::vec3 hit;
|
||||
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
|
||||
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::u_vec4(kShaderUniform::Col, { 1, 0, 1, 1 });
|
||||
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 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;
|
||||
}
|
||||
App::I->vr_active = false;
|
||||
|
||||
Reference in New Issue
Block a user