From ce33390321099c49e7e6c4d7ced06e23a19ed808 Mon Sep 17 00:00:00 2001 From: Michael Lemaire Date: Mon, 25 Jul 2016 18:27:09 +0200 Subject: [PATCH] Fixed render precision sometimes being 0 --- src/render/software/SoftwareRenderer.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/render/software/SoftwareRenderer.cpp b/src/render/software/SoftwareRenderer.cpp index 60bc4cb..9c80116 100644 --- a/src/render/software/SoftwareRenderer.cpp +++ b/src/render/software/SoftwareRenderer.cpp @@ -24,6 +24,7 @@ #include "VegetationRenderer.h" #include "WaterRasterizer.h" #include "WaterRenderer.h" +#include SoftwareRenderer::SoftwareRenderer(Scenery *scenery) : scenery(scenery) { render_camera = new CameraDefinition; @@ -163,7 +164,8 @@ double SoftwareRenderer::getPrecision(const Vector3 &location) { projected.x += 1.0; // projected.y += 1.0; - return render_camera->unproject(projected).sub(location).getNorm() * 0.1 / to_double(render_quality); + double result = render_camera->unproject(projected).sub(location).getNorm() * 0.1 / to_double(render_quality); + return max(result, 0.000001); } Vector3 SoftwareRenderer::projectPoint(const Vector3 &point) {