[Bf-extensions-cvs] [c62dc337] blender2.8: MeasureIt: Fix render result.

Antonioya noreply at git.blender.org
Thu Dec 6 17:43:17 CET 2018


Commit: c62dc337654e41a03dbe944dc0001acd8811fb15
Author: Antonioya
Date:   Thu Dec 6 17:42:46 2018 +0100
Branches: blender2.8
https://developer.blender.org/rBAc62dc337654e41a03dbe944dc0001acd8811fb15

MeasureIt: Fix render result.

Thanks to Jacques Lucke for help me to fix this area.

===================================================================

M	measureit/measureit_render.py

===================================================================

diff --git a/measureit/measureit_render.py b/measureit/measureit_render.py
index 212d12be..dd7826a4 100644
--- a/measureit/measureit_render.py
+++ b/measureit/measureit_render.py
@@ -65,14 +65,17 @@ def render_main(self, context, animation=False):
     # Loop to draw all lines in Offsecreen
     # --------------------------------------
     offscreen = gpu.types.GPUOffScreen(width, height)
-    view_matrix = scene.camera.matrix_world.inverted()
-    projection_matrix = scene.camera.calc_matrix_camera(context.depsgraph, x=width, y=height)
+    view_matrix = Matrix([
+        [2 / width, 0, 0, -1],
+        [0, 2 / height, 0, -1],
+        [0, 0, 1, 0],
+        [0, 0, 0, 1]])
 
     with offscreen.bind():
         bgl.glClear(bgl.GL_COLOR_BUFFER_BIT)
         gpu.matrix.reset()
         gpu.matrix.load_matrix(view_matrix)
-        gpu.matrix.load_projection_matrix(projection_matrix)
+        gpu.matrix.load_projection_matrix(Matrix.Identity(4))
 
         # -----------------------------
         # Loop to draw all objects
@@ -116,7 +119,7 @@ def render_main(self, context, animation=False):
             draw_rectangle((x1, y1), (x2, y2), rfcolor)
 
         buffer = bgl.Buffer(bgl.GL_BYTE, width * height * 4)
-        bgl.glReadBuffer(bgl.GL_BACK)
+        bgl.glReadBuffer(bgl.GL_COLOR_ATTACHMENT0)
         bgl.glReadPixels(0, 0, width, height, bgl.GL_RGBA, bgl.GL_UNSIGNED_BYTE, buffer)
 
     offscreen.free()
@@ -150,38 +153,6 @@ def render_main(self, context, animation=False):
     settings.color_depth = depth
 
 
-# --------------------------------------------------------------------
-# Get the final render image and return as image object
-#
-# return None if no render available
-# --------------------------------------------------------------------
-def get_render_image(outpath):
-    saved = False
-    # noinspection PyBroadException
-    try:
-        # noinspection PyBroadException
-        try:
-            result = bpy.data.images['Render Result']
-            if result.has_data is False:
-                # this save produce to fill data image
-                result.save_render(outpath)
-                saved = True
-        except:
-            print("No render image found")
-            return None
-
-        # Save and reload
-        if saved is False:
-            result.save_render(outpath)
-
-        img = img_utils.load_image(outpath)
-
-        return img
-    except:
-        print("Unexpected render image error")
-        return None
-
-
 # -------------------------------------
 # Save image to file
 # -------------------------------------



More information about the Bf-extensions-cvs mailing list