Python GPU: Replace a few calls of the bgl module with gpu
Concludes these files: [x]bpy_types.py [x]operator_modal_draw.py Reviewed By: fclem Differential Revision: https://developer.blender.org/D11129
This commit is contained in:
parent
6111ec8bd3
commit
6fff2427d6
|
@ -657,16 +657,14 @@ class Gizmo(StructRNA):
|
|||
use_blend = color[3] < 1.0
|
||||
|
||||
if use_blend:
|
||||
# TODO: wrap GPU_blend from GPU state.
|
||||
from bgl import glEnable, glDisable, GL_BLEND
|
||||
glEnable(GL_BLEND)
|
||||
gpu.state.blend_set('ALPHA')
|
||||
|
||||
with gpu.matrix.push_pop():
|
||||
gpu.matrix.multiply_matrix(matrix)
|
||||
batch.draw()
|
||||
|
||||
if use_blend:
|
||||
glDisable(GL_BLEND)
|
||||
gpu.state.blend_set('NONE')
|
||||
|
||||
@staticmethod
|
||||
def new_custom_shape(type, verts):
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
import bpy
|
||||
import bgl
|
||||
import blf
|
||||
import gpu
|
||||
from gpu_extras.batch import batch_for_shader
|
||||
|
@ -17,16 +16,16 @@ def draw_callback_px(self, context):
|
|||
|
||||
# 50% alpha, 2 pixel width line
|
||||
shader = gpu.shader.from_builtin('2D_UNIFORM_COLOR')
|
||||
bgl.glEnable(bgl.GL_BLEND)
|
||||
bgl.glLineWidth(2)
|
||||
gpu.state.blend_set('ALPHA')
|
||||
gpu.state.line_width_set(2.0)
|
||||
batch = batch_for_shader(shader, 'LINE_STRIP', {"pos": self.mouse_path})
|
||||
shader.bind()
|
||||
shader.uniform_float("color", (0.0, 0.0, 0.0, 0.5))
|
||||
batch.draw(shader)
|
||||
|
||||
# restore opengl defaults
|
||||
bgl.glLineWidth(1)
|
||||
bgl.glDisable(bgl.GL_BLEND)
|
||||
gpu.state.line_width_set(1.0)
|
||||
gpu.state.blend_set('NONE')
|
||||
|
||||
|
||||
class ModalDrawOperator(bpy.types.Operator):
|
||||
|
|
Loading…
Reference in New Issue