[Bf-extensions-cvs] [b1195295] master: module `snap_context`: Fix `gpu_Indices_use_clip_planes`

Germano noreply at git.blender.org
Thu Sep 14 23:32:36 CEST 2017


Commit: b119529556663cd77d7eb63c3ad22c90a9c0ec3c
Author: Germano
Date:   Thu Sep 14 18:32:27 2017 -0300
Branches: master
https://developer.blender.org/rBAb119529556663cd77d7eb63c3ad22c90a9c0ec3c

module `snap_context`: Fix `gpu_Indices_use_clip_planes`

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

M	modules/snap_context/__init__.py
M	modules/snap_context/mesh_drawing.py
M	modules/snap_context/resources/3D_vert.glsl

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

diff --git a/modules/snap_context/__init__.py b/modules/snap_context/__init__.py
index f58cec3c..25ee24c4 100644
--- a/modules/snap_context/__init__.py
+++ b/modules/snap_context/__init__.py
@@ -205,7 +205,7 @@ class SnapContext():
             self.update_all()
 
     def add_obj(self, obj, matrix):
-        matrix = matrix.freeze()
+        matrix = matrix.copy()
         snap_obj = self._get_snap_obj_by_obj(obj)
         if not snap_obj:
             self.snap_objects.append(_SnapObjectData([obj], matrix))
diff --git a/modules/snap_context/mesh_drawing.py b/modules/snap_context/mesh_drawing.py
index feecfa7c..dc6619a0 100644
--- a/modules/snap_context/mesh_drawing.py
+++ b/modules/snap_context/mesh_drawing.py
@@ -504,13 +504,13 @@ def gpu_Indices_restore_state():
 def gpu_Indices_use_clip_planes(rv3d, value):
     planes = get_clip_planes(rv3d)
     if planes:
-        _store_current_shader_state()
+        _store_current_shader_state(PreviousGLState)
         bgl.glUseProgram(GPU_Indices_Mesh.shader.program)
         bgl.glUniform1i(GPU_Indices_Mesh.unif_use_clip_planes, value)
 
         bgl.glUniform4fv(GPU_Indices_Mesh.unif_clip_plane, 4, planes)
 
-        _restore_shader_state()
+        _restore_shader_state(PreviousGLState)
 
 
 def gpu_Indices_set_ProjectionMatrix(P):
diff --git a/modules/snap_context/resources/3D_vert.glsl b/modules/snap_context/resources/3D_vert.glsl
index 63891b93..c97df2bf 100644
--- a/modules/snap_context/resources/3D_vert.glsl
+++ b/modules/snap_context/resources/3D_vert.glsl
@@ -16,10 +16,9 @@ void main()
 	if (use_clip_planes) {
 		vec4 g_pos = MV * vec4(pos, 1.0);
 
-		clip_distance[0] = dot(clip_plane[0], g_pos);
-		clip_distance[1] = dot(clip_plane[1], g_pos);
-		clip_distance[2] = dot(clip_plane[2], g_pos);
-		clip_distance[3] = dot(clip_plane[3], g_pos);
+		for (int i = 0; i != 4; i++) {
+			clip_distance[i] = dot(clip_plane[i], g_pos);
+		}
 	}
 
 	primitive_id_var = primitive_id;



More information about the Bf-extensions-cvs mailing list