summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/abstract3drenderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavisualization/engine/abstract3drenderer.cpp')
-rw-r--r--src/datavisualization/engine/abstract3drenderer.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp
index 090a833a..78f4b600 100644
--- a/src/datavisualization/engine/abstract3drenderer.cpp
+++ b/src/datavisualization/engine/abstract3drenderer.cpp
@@ -1320,15 +1320,15 @@ void Abstract3DRenderer::drawCustomItems(RenderingState state,
} else {
// Precalculate texture dimensions so we can optimize
// ray stepping to hit every texture layer.
- QVector3D textureDimensions(float(item->textureWidth()),
- float(item->textureHeight()),
- float(item->textureDepth()));
+ QVector3D textureDimensions(1.0f / float(item->textureWidth()),
+ 1.0f / float(item->textureHeight()),
+ 1.0f / float(item->textureDepth()));
shader->setUniformValue(shader->textureDimensions(), textureDimensions);
- int sampleCount = qMax(item->textureWidth(), item->textureHeight());
- sampleCount = qMax(sampleCount, item->textureDepth());
+ // Worst case scenario sample count
+ int sampleCount = item->textureWidth() + item->textureHeight()
+ + item->textureDepth();
shader->setUniformValue(shader->sampleCount(), sampleCount);
-
}
m_drawer->drawObject(shader, item->mesh(), 0, 0, item->texture());
} else