Skip to content
Snippets Groups Projects
Commit 25d2da36 authored by Christian Mattes's avatar Christian Mattes
Browse files

Added FeetPlacer

parent b93e8a24
Branches
No related tags found
No related merge requests found
#include "FeetPlacer.hh"
#include <glm/glm.hpp>
#include <glm/gtx/transform.hpp>
#include <lava-extras/openvr/OpenVRControllerInput.hh>
namespace lava {
namespace vr {
FeetPlacer::FeetPlacer(MeshHandle foot, Tracker const &left,
Tracker const &right)
: mFoot(foot), mLeft(left), mRight(right) {}
void FeetPlacer::place(BatchingRenderer &renderer) {
glm::mat4 trackerToShoe = {1, 0, 0, 0, //
0, 0, -1, 0, //
0, 1, 0, 0, //
0, 0, 0, 1};
// trackerToShoe = glm::mat4(1.0);
{
auto leftXf = mLeft.pose() * trackerToShoe;
leftXf = leftXf * scale(glm::vec3{-1.f, 1.f, 1.f});
renderer.enqueue(mFoot, leftXf);
}
{
auto rightXf = mRight.pose() * trackerToShoe;
renderer.enqueue(mFoot, rightXf);
}
}
} // namespace vr
} // namespace lava
#pragma once
#include <lava-extras/openvr/fwd.hh>
#include <lava-vr/BatchingRenderer.hh>
namespace lava {
namespace vr {
class FeetPlacer {
public:
using MeshHandle = lava::vr::BatchingRenderer::MeshHandle;
using Tracker = lava::openvr::OpenVRController;
FeetPlacer(MeshHandle foot, Tracker const &left, Tracker const &right);
void place(lava::vr::BatchingRenderer &renderer);
protected:
MeshHandle mFoot;
Tracker const &mLeft;
Tracker const &mRight;
};
} // namespace vr
} // namespace lava
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment