diff options
author | Germano <germano.costa@ig.com.br> | 2017-09-15 00:32:27 +0300 |
---|---|---|
committer | Germano <germano.costa@ig.com.br> | 2017-09-15 00:32:27 +0300 |
commit | b119529556663cd77d7eb63c3ad22c90a9c0ec3c (patch) | |
tree | b1905f8347db443559f095503aaaa06bec7ddf16 /modules | |
parent | d98d1dc3d837dfaf1b2c832f20a8ec8504968fc0 (diff) |
module `snap_context`: Fix `gpu_Indices_use_clip_planes`
Diffstat (limited to 'modules')
-rw-r--r-- | modules/snap_context/__init__.py | 2 | ||||
-rw-r--r-- | modules/snap_context/mesh_drawing.py | 4 | ||||
-rw-r--r-- | modules/snap_context/resources/3D_vert.glsl | 7 |
3 files changed, 6 insertions, 7 deletions
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; |