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_POINTS
,GL_LINES
等
- draw_subset(mode, vertex_list)
在域中绘制特定的IndexedVertex List。
这个 vertex_list 参数指定一个
IndexedVertexList
去画画。将只绘制该列表中的基元。- 参数:
- mode集成
OpenGL绘图模式,例如
GL_POINTS
,GL_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 :无
忽略非索引顶点属性域
- 返回类型:
- draw(mode)
绘制区域中的所有顶点。
域中的所有顶点将同时绘制。这是呈现基元的最有效方法。
- 参数:
- mode集成
OpenGL绘图模式,例如
GL_POINTS
,GL_LINES
等
- draw_subset(mode, vertex_list)
在域中绘制特定的顶点列表。
这个 vertex_list 参数指定一个
VertexList
去画画。将只绘制该列表中的基元。- 参数:
- mode集成
OpenGL绘图模式,例如
GL_POINTS
,GL_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_POINTS
,GL_LINES
等
- migrate(domain)
将此组从其当前域中移出并添加到指定的域。域上的属性必须匹配。(实际上,用于更改某些顶点的父状态)。
- 参数:
- domainVertexDomain
要将此顶点列表迁移到的域。
- resize(count, index_count=None)
调整此组的大小。
- 参数:
- count集成
列表中的新顶点数。
- index_count :无
忽略非索引顶点属性域
- set_attribute_data(name, data)