本文整理汇总了Python中bgl.GL_UNSIGNED_BYTE属性的典型用法代码示例。如果您正苦于以下问题:Python bgl.GL_UNSIGNED_BYTE属性的具体用法?Python bgl.GL_UNSIGNED_BYTE怎么用?Python bgl.GL_UNSIGNED_BYTE使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类bgl
的用法示例。
在下文中一共展示了bgl.GL_UNSIGNED_BYTE属性的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: buffer_image
# 需要导入模块: import bgl [as 别名]
# 或者: from bgl import GL_UNSIGNED_BYTE [as 别名]
def buffer_image(self):
if not self.loaded: return
if self.buffered: return
if self.deleted: return
bgl.glBindTexture(bgl.GL_TEXTURE_2D, self.texture_id)
bgl.glTexEnvf(bgl.GL_TEXTURE_ENV, bgl.GL_TEXTURE_ENV_MODE, bgl.GL_MODULATE)
bgl.glTexParameterf(bgl.GL_TEXTURE_2D, bgl.GL_TEXTURE_MAG_FILTER, bgl.GL_NEAREST)
bgl.glTexParameterf(bgl.GL_TEXTURE_2D, bgl.GL_TEXTURE_MIN_FILTER, bgl.GL_LINEAR)
# texbuffer = bgl.Buffer(bgl.GL_BYTE, [self.width,self.height,self.depth], image_data)
image_size = self.image_width*self.image_height*self.image_depth
texbuffer = bgl.Buffer(bgl.GL_BYTE, [image_size], self.image_flat)
bgl.glTexImage2D(bgl.GL_TEXTURE_2D, 0, bgl.GL_RGBA, self.image_width, self.image_height, 0, bgl.GL_RGBA, bgl.GL_UNSIGNED_BYTE, texbuffer)
del texbuffer
bgl.glBindTexture(bgl.GL_TEXTURE_2D, 0)
self.buffered = True
示例2: render_opengl_image
# 需要导入模块: import bgl [as 别名]
# 或者: from bgl import GL_UNSIGNED_BYTE [as 别名]
def render_opengl_image(image_name, cam, point_size):
draw_manager = DrawManager.get_singleton()
coords, colors = draw_manager.get_coords_and_colors()
scene = bpy.context.scene
render = bpy.context.scene.render
width = render.resolution_x
height = render.resolution_y
# TODO Provide an option to render from the 3D view perspective
# width = bpy.context.region.width
# height = bpy.context.region.height
offscreen = gpu.types.GPUOffScreen(width, height)
with offscreen.bind():
bgl.glPointSize(point_size)
#bgl.glClear(bgl.GL_COLOR_BUFFER_BIT)
#bgl.glClear(bgl.GL_DEPTH_BUFFER_BIT)
view_matrix = cam.matrix_world.inverted()
projection_matrix = cam.calc_matrix_camera(
bpy.context.evaluated_depsgraph_get(),
x=width,
y=height)
perspective_matrix = projection_matrix @ view_matrix
gpu.matrix.load_matrix(perspective_matrix)
gpu.matrix.load_projection_matrix(Matrix.Identity(4))
shader = gpu.shader.from_builtin('3D_FLAT_COLOR')
shader.bind()
batch = batch_for_shader(shader, "POINTS", {"pos": coords, "color": colors})
batch.draw(shader)
buffer = bgl.Buffer(bgl.GL_BYTE, width * height * 4)
bgl.glReadPixels(0, 0, width, height, bgl.GL_RGBA, bgl.GL_UNSIGNED_BYTE, buffer)
offscreen.free()
image = create_image_lazy(image_name, width, height)
copy_buffer_to_pixel(buffer, image)