Browse Source

DebugTools: render boxes with proper size.

Cube and Square primitives have 2x2(x2) size, thus to render box with
size 1x1(x1) we have to set scale to 0.5.
pull/7/head
Vladimír Vondruš 13 years ago
parent
commit
377170212c
  1. 3
      src/DebugTools/Implementation/AxisAlignedBoxRenderer.cpp

3
src/DebugTools/Implementation/AxisAlignedBoxRenderer.cpp

@ -24,9 +24,10 @@
namespace Magnum { namespace DebugTools { namespace Implementation {
template<std::uint8_t dimensions> void AxisAlignedBoxRenderer<dimensions>::draw(Resource<ShapeRendererOptions>& options, const typename DimensionTraits<dimensions>::MatrixType&, typename SceneGraph::AbstractCamera<dimensions>* camera) {
/* Half scale, because the box is 2x2(x2) */
typename DimensionTraits<dimensions>::MatrixType transformation =
DimensionTraits<dimensions>::MatrixType::translation(axisAlignedBox.transformedPosition())*
DimensionTraits<dimensions>::MatrixType::scaling(axisAlignedBox.transformedSize());
DimensionTraits<dimensions>::MatrixType::scaling(axisAlignedBox.transformedSize()/2);
this->shader->setTransformationProjectionMatrix(camera->projectionMatrix()*camera->cameraMatrix()*transformation)
->setColor(options->color())
->use();

Loading…
Cancel
Save