diff options
Diffstat (limited to 'src/datavisualization/engine/abstract3drenderer.cpp')
-rw-r--r-- | src/datavisualization/engine/abstract3drenderer.cpp | 12 |
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 |