本文整理汇总了Python中bgl.glVertex2f方法的典型用法代码示例。如果您正苦于以下问题:Python bgl.glVertex2f方法的具体用法?Python bgl.glVertex2f怎么用?Python bgl.glVertex2f使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类bgl
的用法示例。
在下文中一共展示了bgl.glVertex2f方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: draw_line
# 需要导入模块: import bgl [as 别名]
# 或者: from bgl import glVertex2f [as 别名]
def draw_line(p1, p2, color, shadow=False, shadow_color=None):
bgl.glEnable(bgl.GL_BLEND)
bgl.glEnable(bgl.GL_LINE_SMOOTH)
# Draw shadow.
if shadow:
bgl.glLineWidth(3.0)
bgl.glColor4f(*shadow_color, 1.0)
bgl.glBegin(bgl.GL_LINES)
bgl.glVertex2f(*p1)
bgl.glVertex2f(*p2)
bgl.glEnd()
# Draw line.
bgl.glLineWidth(1.5 if shadow else 1.0)
bgl.glColor3f(*color)
bgl.glBegin(bgl.GL_LINES)
bgl.glVertex2f(*p1)
bgl.glVertex2f(*p2)
bgl.glEnd()
bgl.glLineWidth(1.0)
bgl.glDisable(bgl.GL_LINE_SMOOTH)
示例2: draw_arc12
# 需要导入模块: import bgl [as 别名]
# 或者: from bgl import glVertex2f [as 别名]
def draw_arc12(x, y, radius, start_angle, end_angle, subdivide): # いずれ削除
# 十二時から時計回りに描画
v = Vector([0, 1, 0])
e = Euler((0, 0, -start_angle))
m = e.to_matrix()
v = v * m
if end_angle >= start_angle:
a = (end_angle - start_angle) / (subdivide + 1)
else:
a = (end_angle + math.pi * 2 - start_angle) / (subdivide + 1)
e = Euler((0, 0, -a))
m = e.to_matrix()
bgl.glBegin(bgl.GL_LINE_STRIP)
for i in range(subdivide + 2):
v1 = v * radius
bgl.glVertex2f(x + v1[0], y + v1[1])
v = v * m
bgl.glEnd()
示例3: draw_quad_fan
# 需要导入模块: import bgl [as 别名]
# 或者: from bgl import glVertex2f [as 别名]
def draw_quad_fan(x, y, inner_radius, outer_radius,
start_angle, end_angle, edgenum=16):
# 三時から反時計回りに描画
start = normalize_angle(start_angle)
end = normalize_angle(end_angle)
if end < start:
end += math.pi * 2
d = (end - start) / edgenum
a = start
bgl.glBegin(bgl.GL_QUAD_STRIP)
for i in range(edgenum + 1):
bgl.glVertex2f(x + inner_radius * math.cos(a),
y + inner_radius * math.sin(a))
bgl.glVertex2f(x + outer_radius * math.cos(a),
y + outer_radius * math.sin(a))
a += d
bgl.glEnd()
示例4: draw_rounded_box
# 需要导入模块: import bgl [as 别名]
# 或者: from bgl import glVertex2f [as 别名]
def draw_rounded_box(xmin, ymin, xmax, ymax, round_radius, poly=False):
r = min(round_radius, (xmax - xmin) / 2, (ymax - ymin) / 2)
bgl.glBegin(bgl.GL_POLYGON if poly else bgl.GL_LINE_LOOP)
if round_radius > 0.0:
pi = math.pi
l = []
# 左下
l += draw_arc_get_vectors(xmin + r, ymin + r, r, pi, pi * 3 / 2, 4)
# 右下
l += draw_arc_get_vectors(xmax - r, ymin + r, r, pi * 3 / 2, 0.0, 4)
# 右上
l += draw_arc_get_vectors(xmax - r, ymax - r, r, 0.0, pi / 2, 4)
# 左上
l += draw_arc_get_vectors(xmin + r, ymax - r, r, pi / 2, pi, 4)
for v in l:
bgl.glVertex2f(*v)
else:
bgl.glVertex2f(xmin, ymin)
bgl.glVertex2f(xmax, ymin)
bgl.glVertex2f(xmax, ymax)
bgl.glVertex2f(xmin, ymax)
bgl.glEnd()
示例5: draw_arrow_2d
# 需要导入模块: import bgl [as 别名]
# 或者: from bgl import glVertex2f [as 别名]
def draw_arrow_2d(p0, n, L, arrow_len, arrow_width):
p1 = p0 + n * L
t = Vector((-n[1], n[0]))
pA = p1 - n * arrow_len + t * arrow_width
pB = p1 - n * arrow_len - t * arrow_width
bgl.glBegin(bgl.GL_LINES)
bgl.glVertex2f(p0[0], p0[1])
bgl.glVertex2f(p1[0], p1[1])
bgl.glVertex2f(p1[0], p1[1])
bgl.glVertex2f(pA[0], pA[1])
bgl.glVertex2f(p1[0], p1[1])
bgl.glVertex2f(pB[0], pB[1])
bgl.glEnd()
# Store/restore OpenGL settings and working with
# projection matrices -- inspired by space_view3d_panel_measure
# of Buerbaum Martin (Pontiac).
# OpenGl helper functions/data
示例6: __draw_ctrl_point
# 需要导入模块: import bgl [as 别名]
# 或者: from bgl import glVertex2f [as 别名]
def __draw_ctrl_point(self, context, pos):
"""
Draw control point
"""
cp_size = context.scene.muv_uvbb_cp_size
offset = cp_size / 2
verts = [
[pos.x - offset, pos.y - offset],
[pos.x - offset, pos.y + offset],
[pos.x + offset, pos.y + offset],
[pos.x + offset, pos.y - offset]
]
bgl.glEnable(bgl.GL_BLEND)
bgl.glBegin(bgl.GL_QUADS)
bgl.glColor4f(1.0, 1.0, 1.0, 1.0)
for (x, y) in verts:
bgl.glVertex2f(x, y)
bgl.glEnd()
示例7: draw_outline_or_region
# 需要导入模块: import bgl [as 别名]
# 或者: from bgl import glVertex2f [as 别名]
def draw_outline_or_region(mode, points, color):
'''
draws and outline or region
mode: either bgl.GL_POLYGON or bgl.GL_LINE_LOOP
color: will need to be set beforehand using theme colors. eg
bgl.glColor4f(self.ri, self.gi, self.bi, self.ai)
return: None
'''
bgl.glColor4f(color[0],color[1],color[2],color[3])
if mode == 'GL_LINE_LOOP':
bgl.glBegin(bgl.GL_LINE_LOOP)
else:
bgl.glEnable(bgl.GL_BLEND)
bgl.glBegin(bgl.GL_POLYGON)
# start with corner right-bottom
for i in range(0,len(points)):
bgl.glVertex2f(points[i][0],points[i][1])
bgl.glEnd()
示例8: _draw
# 需要导入模块: import bgl [as 别名]
# 或者: from bgl import glVertex2f [as 别名]
def _draw(self):
l,t = self.pos
w,h = self.size
if debug_draw:
bgl.glEnable(bgl.GL_BLEND)
bgl.glBegin(bgl.GL_QUADS)
bgl.glColor4f(0,1,1,0.5)
bgl.glVertex2f(l, t)
bgl.glVertex2f(l, t - h)
bgl.glVertex2f(l + w, t - h)
bgl.glVertex2f(l + w, t)
bgl.glEnd()
if self.background:
bgl.glEnable(bgl.GL_BLEND)
bgl.glColor4f(*self.background)
bgl.glBegin(bgl.GL_QUADS)
bgl.glVertex2f(l, t)
bgl.glVertex2f(l+w, t)
bgl.glVertex2f(l+w, t-h)
bgl.glVertex2f(l, t-h)
bgl.glEnd()
示例9: draw_darken
# 需要导入模块: import bgl [as 别名]
# 或者: from bgl import glVertex2f [as 别名]
def draw_darken(self):
bgl.glPushAttrib(bgl.GL_ALL_ATTRIB_BITS)
bgl.glMatrixMode(bgl.GL_PROJECTION)
bgl.glPushMatrix()
bgl.glLoadIdentity()
bgl.glColor4f(0,0,0,0.25) # TODO: use window background color??
bgl.glEnable(bgl.GL_BLEND)
bgl.glDisable(bgl.GL_DEPTH_TEST)
bgl.glBegin(bgl.GL_QUADS) # TODO: not use immediate mode
bgl.glVertex2f(-1, -1)
bgl.glVertex2f( 1, -1)
bgl.glVertex2f( 1, 1)
bgl.glVertex2f(-1, 1)
bgl.glEnd()
bgl.glPopMatrix()
bgl.glPopAttrib()
示例10: mi_draw_2d_point
# 需要导入模块: import bgl [as 别名]
# 或者: from bgl import glVertex2f [as 别名]
def mi_draw_2d_point(point_x, point_y, p_size=4, p_col=(1.0,1.0,1.0,1.0)):
bgl.glEnable(bgl.GL_BLEND)
#bgl.glColor4f(1.0, 1.0, 1.0, 0.5)
#bgl.glLineWidth(2)
bgl.glPointSize(p_size)
# bgl.glBegin(bgl.GL_LINE_LOOP)
bgl.glBegin(bgl.GL_POINTS)
# bgl.glBegin(bgl.GL_POLYGON)
bgl.glColor4f(p_col[0], p_col[1], p_col[2], p_col[3])
bgl.glVertex2f(point_x, point_y)
bgl.glEnd()
# restore opengl defaults
bgl.glLineWidth(1)
bgl.glDisable(bgl.GL_BLEND)
bgl.glColor4f(0.0, 0.0, 0.0, 1.0)
# TODO MOVE TO UTILITIES
示例11: draw_2d_point
# 需要导入模块: import bgl [as 别名]
# 或者: from bgl import glVertex2f [as 别名]
def draw_2d_point(point_x, point_y, p_size=4, p_col=(1.0,1.0,1.0,1.0)):
bgl.glEnable(bgl.GL_BLEND)
#bgl.glColor4f(1.0, 1.0, 1.0, 0.5)
#bgl.glLineWidth(2)
bgl.glPointSize(p_size)
# bgl.glBegin(bgl.GL_LINE_LOOP)
bgl.glBegin(bgl.GL_POINTS)
# bgl.glBegin(bgl.GL_POLYGON)
bgl.glColor4f(p_col[0], p_col[1], p_col[2], p_col[3])
bgl.glVertex2f(point_x, point_y)
bgl.glEnd()
# restore opengl defaults
bgl.glLineWidth(1)
bgl.glDisable(bgl.GL_BLEND)
bgl.glColor4f(0.0, 0.0, 0.0, 1.0)
示例12: draw
# 需要导入模块: import bgl [as 别名]
# 或者: from bgl import glVertex2f [as 别名]
def draw(self, context, render=False):
"""
render flag when rendering
"""
# print("draw_line %s" % (type(self).__name__))
bgl.glPushAttrib(bgl.GL_ENABLE_BIT)
if self.style == bgl.GL_LINE_STIPPLE:
bgl.glLineStipple(1, 0x9999)
bgl.glEnable(self.style)
bgl.glEnable(bgl.GL_BLEND)
if render:
# enable anti-alias on lines
bgl.glEnable(bgl.GL_LINE_SMOOTH)
bgl.glColor4f(*self.colour)
bgl.glLineWidth(self.width)
if self.closed:
bgl.glBegin(bgl.GL_LINE_LOOP)
else:
bgl.glBegin(bgl.GL_LINE_STRIP)
for pt in self.pts:
p = self.position_2d_from_coord(context, pt, render)
bgl.glVertex2f(p.x, p.y)
self._end()
示例13: draw_3d_points
# 需要导入模块: import bgl [as 别名]
# 或者: from bgl import glVertex2f [as 别名]
def draw_3d_points(context, points, color, size):
'''
draw a bunch of dots
args:
points: a list of tuples representing x,y SCREEN coordinate eg [(10,30),(11,31),...]
color: tuple (r,g,b,a)
size: integer? maybe a float
'''
points_2d = [location_3d_to_region_2d(context.region, context.space_data.region_3d, loc) for loc in points]
if None in points_2d:
points_2d = filter(None, points_2d)
bgl.glColor4f(*color)
bgl.glPointSize(size)
bgl.glBegin(bgl.GL_POINTS)
for coord in points_2d:
#TODO: Debug this problem....perhaps loc_3d is returning points off of the screen.
if coord:
bgl.glVertex2f(*coord)
bgl.glEnd()
return
示例14: draw_rect
# 需要导入模块: import bgl [as 别名]
# 或者: from bgl import glVertex2f [as 别名]
def draw_rect(x1, y1, x2, y2, color):
bgl.glColor3f(*color)
bgl.glBegin(bgl.GL_QUADS)
bgl.glVertex2f(x1, y1)
bgl.glVertex2f(x1, y2)
bgl.glVertex2f(x2, y2)
bgl.glVertex2f(x2, y1)
bgl.glEnd()
bgl.glColor3f(1.0, 1.0, 1.0)
示例15: draw_line
# 需要导入模块: import bgl [as 别名]
# 或者: from bgl import glVertex2f [as 别名]
def draw_line(v1, v2):
# noinspection PyBroadException
try:
if v1 is not None and v2 is not None:
bgl.glBegin(bgl.GL_LINES)
bgl.glVertex2f(*v1)
bgl.glVertex2f(*v2)
bgl.glEnd()
except:
pass