mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-29 20:42:56 +02:00
fixing the web surface now getting scaled when the table t is grabbed is fixed
This commit is contained in:
parent
a8770e1077
commit
badb45c921
2 changed files with 16 additions and 2 deletions
|
@ -302,7 +302,6 @@ void Web3DOverlay::render(RenderArgs* args) {
|
||||||
emit resizeWebSurface();
|
emit resizeWebSurface();
|
||||||
}
|
}
|
||||||
|
|
||||||
vec2 halfSize = getSize() / 2.0f;
|
|
||||||
vec4 color(toGlm(getColor()), getAlpha());
|
vec4 color(toGlm(getColor()), getAlpha());
|
||||||
|
|
||||||
if (!_texture) {
|
if (!_texture) {
|
||||||
|
@ -318,8 +317,11 @@ void Web3DOverlay::render(RenderArgs* args) {
|
||||||
Q_ASSERT(args->_batch);
|
Q_ASSERT(args->_batch);
|
||||||
gpu::Batch& batch = *args->_batch;
|
gpu::Batch& batch = *args->_batch;
|
||||||
batch.setResourceTexture(0, _texture);
|
batch.setResourceTexture(0, _texture);
|
||||||
|
|
||||||
auto renderTransform = getRenderTransform();
|
auto renderTransform = getRenderTransform();
|
||||||
batch.setModelTransform(getRenderTransform());
|
auto size = renderTransform.getScale();
|
||||||
|
renderTransform.setScale(1.0f);
|
||||||
|
batch.setModelTransform(renderTransform);
|
||||||
|
|
||||||
auto geometryCache = DependencyManager::get<GeometryCache>();
|
auto geometryCache = DependencyManager::get<GeometryCache>();
|
||||||
if (color.a < OPAQUE_ALPHA_THRESHOLD) {
|
if (color.a < OPAQUE_ALPHA_THRESHOLD) {
|
||||||
|
@ -327,10 +329,19 @@ void Web3DOverlay::render(RenderArgs* args) {
|
||||||
} else {
|
} else {
|
||||||
geometryCache->bindWebBrowserProgram(batch);
|
geometryCache->bindWebBrowserProgram(batch);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vec2 halfSize = vec2(size.x, size.y) / 2.0f;
|
||||||
geometryCache->renderQuad(batch, halfSize * -1.0f, halfSize, vec2(0), vec2(1), color, _geometryId);
|
geometryCache->renderQuad(batch, halfSize * -1.0f, halfSize, vec2(0), vec2(1), color, _geometryId);
|
||||||
batch.setResourceTexture(0, nullptr); // restore default white color after me
|
batch.setResourceTexture(0, nullptr); // restore default white color after me
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Transform Web3DOverlay::evalRenderTransform() {
|
||||||
|
Transform transform = Parent::evalRenderTransform();
|
||||||
|
transform.setScale(1.0f);
|
||||||
|
transform.postScale(glm::vec3(getSize(), 1.0f));
|
||||||
|
return transform;
|
||||||
|
}
|
||||||
|
|
||||||
const render::ShapeKey Web3DOverlay::getShapeKey() {
|
const render::ShapeKey Web3DOverlay::getShapeKey() {
|
||||||
auto builder = render::ShapeKey::Builder().withoutCullFace().withDepthBias().withOwnPipeline();
|
auto builder = render::ShapeKey::Builder().withoutCullFace().withDepthBias().withOwnPipeline();
|
||||||
if (isTransparent()) {
|
if (isTransparent()) {
|
||||||
|
|
|
@ -78,6 +78,9 @@ signals:
|
||||||
void requestWebSurface();
|
void requestWebSurface();
|
||||||
void releaseWebSurface();
|
void releaseWebSurface();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
Transform evalRenderTransform() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
InputMode _inputMode { Touch };
|
InputMode _inputMode { Touch };
|
||||||
QSharedPointer<OffscreenQmlSurface> _webSurface;
|
QSharedPointer<OffscreenQmlSurface> _webSurface;
|
||||||
|
|
Loading…
Reference in a new issue