Browse Source

Decrese core-line width when overdrawing to preserve original line width.

vrld 13 years ago
parent
commit
9c9b1810b7
1 changed files with 5 additions and 0 deletions
  1. 5 0
      src/modules/graphics/opengl/Graphics.cpp

+ 5 - 0
src/modules/graphics/opengl/Graphics.cpp

@@ -859,6 +859,11 @@ namespace opengl
 		float halfwidth = lineWidth/2.f;
 		float halfwidth = lineWidth/2.f;
 		float inv_hw    = 1.f / halfwidth;
 		float inv_hw    = 1.f / halfwidth;
 
 
+		// Overdraw changes visible line width. account for that.
+		// Value of 0.15 chosen empirically.
+		if (lineStyle == LINE_SMOOTH)
+			halfwidth -= .15f;
+
 		// get line vertex boundaries
 		// get line vertex boundaries
 		// if not looping, extend the line at the beginning, else use last point as `p'
 		// if not looping, extend the line at the beginning, else use last point as `p'
 		r = Vector(coords[0], coords[1]);
 		r = Vector(coords[0], coords[1]);