pyglet.graphics.vertexdomain

管理单个顶点域中的相关顶点属性。

顶点“域”由一组属性描述组成,这些属性描述一起描述一个或多个顶点缓冲区的布局,这些缓冲区一起用于指定基元中的顶点。此外,域管理用于存储数据的缓冲区,并根据需要调整缓冲区大小以容纳新顶点。

可以选择性地对域进行索引,在这种情况下,它们还可以管理包含顶点索引的缓冲区。该缓冲区是单独增长的,与属性缓冲区没有大小关系。

应用程序可以在域中创建顶点(以及可选的索引 VertexDomain.create() 方法。这将返回一个 VertexList 表示创建的顶点列表。可以修改组内的顶点属性数据,并自动对底层缓冲区进行更改。

可以在一个步骤中高效地绘制整个域 VertexDomain.draw() 方法,假定所有顶点都包含相同OpenGL基元模式的基元。

class IndexedVertexDomain(program, attribute_meta, index_gl_type=5125)

管理一组索引顶点列表。

索引顶点域的构造通常使用 create_domain() 功能。

create(count, index_count)

创建一个 IndexedVertexList 在这个领域。

参数:
count集成

要创建的顶点数

index_count

要创建的索引数

draw(mode)

绘制区域中的所有顶点。

域中的所有顶点将同时绘制。这是呈现基元的最有效方法。

参数:
mode集成

OpenGL绘图模式,例如 GL_POINTSGL_LINES

draw_subset(mode, vertex_list)

在域中绘制特定的IndexedVertex List。

这个 vertex_list 参数指定一个 IndexedVertexList 去画画。将只绘制该列表中的基元。

参数:
mode集成

OpenGL绘图模式,例如 GL_POINTSGL_LINES

vertex_listIndexedVertexList

要绘制的顶点列表。

get_index_region(start, count)

从索引缓冲区的某个区域获取数据。

参数:
start集成

要映射的区域的起点。

count集成

要映射的索引数。

返回类型:

Array of int

safe_index_alloc(count)

分配索引,必要时调整缓冲区大小。

safe_index_realloc(start, count, new_count)

重新分配索引,必要时调整缓冲区大小。

set_index_region(start, count, data)
class IndexedVertexList(domain, start, count, index_start, index_count)

中的顶点列表。 IndexedVertexDomain 都被编入了索引。使用 IndexedVertexDomain.create() 来构建这份名单。

delete()

删除此群。

migrate(domain)

将此组从其当前索引域中移出并添加到指定的索引域。域上的属性必须匹配。(实际上,用于更改某些顶点的父状态)。

参数:
domainIndexedVertexDomain

要将此顶点列表迁移到的索引域。

resize(count, index_count)

调整此组的大小。

参数:
count集成

列表中的新顶点数。

index_count集成

列表中的新索引数。

property indices

索引数据数组。

class VertexDomain(program, attribute_meta)

管理一组顶点列表。

顶点域的构造通常使用 create_domain() 功能。

create(count, index_count=None)

创建 VertexList 在这个领域。

参数:
count集成

要创建的顶点数。

index_count :无

忽略非索引顶点属性域

返回类型:

VertexList

draw(mode)

绘制区域中的所有顶点。

域中的所有顶点将同时绘制。这是呈现基元的最有效方法。

参数:
mode集成

OpenGL绘图模式,例如 GL_POINTSGL_LINES

draw_subset(mode, vertex_list)

在域中绘制特定的顶点列表。

这个 vertex_list 参数指定一个 VertexList 去画画。将只绘制该列表中的基元。

参数:
mode集成

OpenGL绘图模式,例如 GL_POINTSGL_LINES

vertex_listVertexList

要绘制的顶点列表。

safe_alloc(count)

分配顶点,如有必要可调整缓冲区大小。

safe_realloc(start, count, new_count)

重新分配顶点,如有必要,调整缓冲区大小。

property is_empty
class VertexList(domain, start, count)

中的顶点列表。 VertexDomain 。使用 VertexDomain.create() 来构建这份名单。

delete()

删除此群。

draw(mode)

在给定的OpenGL模式下绘制此顶点列表。

参数:
mode集成

OpenGL绘图模式,例如 GL_POINTSGL_LINES

migrate(domain)

将此组从其当前域中移出并添加到指定的域。域上的属性必须匹配。(实际上,用于更改某些顶点的父状态)。

参数:
domainVertexDomain

要将此顶点列表迁移到的域。

resize(count, index_count=None)

调整此组的大小。

参数:
count集成

列表中的新顶点数。

index_count :无

忽略非索引顶点属性域

set_attribute_data(name, data)