mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-05 08:50:05 +02:00
fix missing sensorToWorld matrix
This commit is contained in:
parent
7e6d5d9d98
commit
e95ecc3f27
6 changed files with 6 additions and 19 deletions
|
@ -5053,6 +5053,7 @@ void Application::update(float deltaTime) {
|
|||
|
||||
float sensorToWorldScale = getMyAvatar()->getSensorToWorldScale();
|
||||
appRenderArgs._sensorToWorldScale = sensorToWorldScale;
|
||||
appRenderArgs._sensorToWorld = getMyAvatar()->getSensorToWorldMatrix();
|
||||
{
|
||||
PROFILE_RANGE(render, "/buildFrustrumAndArgs");
|
||||
{
|
||||
|
|
|
@ -96,7 +96,6 @@ bool OverlayConductor::updateAvatarHasDriveInput() {
|
|||
void OverlayConductor::centerUI() {
|
||||
// place the overlay at the current hmd position in sensor space
|
||||
auto camMat = cancelOutRollAndPitch(qApp->getHMDSensorPose());
|
||||
qDebug() << "OverlayConductor::centerUI" << camMat;
|
||||
qApp->getApplicationCompositor().setModelTransform(Transform(camMat));
|
||||
}
|
||||
|
||||
|
|
|
@ -277,10 +277,10 @@ void Base3DOverlay::update(float duration) {
|
|||
// then the correct transform used for rendering is computed in the update transaction and assigned.
|
||||
if (_renderTransformDirty) {
|
||||
auto itemID = getRenderItemID();
|
||||
// Capture the render transform value in game loop before
|
||||
auto latestTransform = evalRenderTransform();
|
||||
_renderTransformDirty = false;
|
||||
if (render::Item::isValidID(itemID)) {
|
||||
// Capture the render transform value in game loop before
|
||||
auto latestTransform = evalRenderTransform();
|
||||
_renderTransformDirty = false;
|
||||
render::ScenePointer scene = qApp->getMain3DScene();
|
||||
render::Transaction transaction;
|
||||
transaction.updateItem<Overlay>(itemID, [latestTransform](Overlay& data) {
|
||||
|
@ -290,8 +290,6 @@ void Base3DOverlay::update(float duration) {
|
|||
}
|
||||
});
|
||||
scene->enqueueTransaction(transaction);
|
||||
} else {
|
||||
setRenderTransform(latestTransform);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -570,11 +570,11 @@ std::function<void(gpu::Batch&, const gpu::TexturePointer&)> OpenGLDisplayPlugin
|
|||
batch.setResourceTexture(0, hudTexture);
|
||||
if (isStereo()) {
|
||||
for_each_eye([&](Eye eye) {
|
||||
batch.setViewportTransform(eyeViewport(eye, getRecommendedRenderSize()));
|
||||
batch.setViewportTransform(eyeViewport(eye));
|
||||
batch.draw(gpu::TRIANGLE_STRIP, 4);
|
||||
});
|
||||
} else {
|
||||
batch.setViewportTransform(ivec4(uvec2(0), getRecommendedRenderSize()));
|
||||
batch.setViewportTransform(ivec4(uvec2(0), _compositeFramebuffer->getSize()));
|
||||
batch.draw(gpu::TRIANGLE_STRIP, 4);
|
||||
}
|
||||
}
|
||||
|
@ -840,15 +840,6 @@ ivec4 OpenGLDisplayPlugin::eyeViewport(Eye eye) const {
|
|||
return ivec4(vpPos, vpSize);
|
||||
}
|
||||
|
||||
ivec4 OpenGLDisplayPlugin::eyeViewport(Eye eye, uvec2 vpSize) const {
|
||||
vpSize.x /= 2;
|
||||
uvec2 vpPos;
|
||||
if (eye == Eye::Right) {
|
||||
vpPos.x = vpSize.x;
|
||||
}
|
||||
return ivec4(vpPos, vpSize);
|
||||
}
|
||||
|
||||
gpu::gl::GLBackend* OpenGLDisplayPlugin::getGLBackend() {
|
||||
if (!_gpuContext || !_gpuContext->getBackend()) {
|
||||
return nullptr;
|
||||
|
|
|
@ -125,7 +125,6 @@ protected:
|
|||
void present();
|
||||
virtual void swapBuffers();
|
||||
ivec4 eyeViewport(Eye eye) const;
|
||||
ivec4 eyeViewport(Eye eye, uvec2 vpSize) const;
|
||||
|
||||
void render(std::function<void(gpu::Batch& batch)> f);
|
||||
|
||||
|
|
|
@ -444,7 +444,6 @@ std::function<void(gpu::Batch&, const gpu::TexturePointer&)> HmdDisplayPlugin::H
|
|||
batch.setUniformBuffer(uniformsLocation, uniformsBuffer);
|
||||
|
||||
auto compositorHelper = DependencyManager::get<CompositorHelper>();
|
||||
qDebug() << "getUITransform" << compositorHelper->getUiTransform();
|
||||
batch.setModelTransform(compositorHelper->getUiTransform());
|
||||
batch.setResourceTexture(0, hudTexture);
|
||||
|
||||
|
|
Loading…
Reference in a new issue