GLTFBufferView

继承: Resource < RefCounted < Object

代表 glTF 缓冲区视图。

描述

GLTFBufferView 是一种数据结构,用于表示 glTF 中的 bufferView 内容,该内容位于 "bufferViews" 数组中。缓冲区是一段二进制数据的集合。缓冲区视图是缓冲区的一部分,可用于识别并提取缓冲区中的数据。

大多数针对缓冲区的自定义使用仅需要使用 buffer, byte_length, 和 byte_offset。而 byte_strideindices 这些属性则用于更高级的用例,例如为 GPU 编码的交错网格数据。

属性

方法


属性说明

int buffer = -1 🔗

  • void set_buffer(value: int)

  • int get_buffer()

这个缓冲视图所引用的缓冲索引。如果为 -1,则这个缓冲视图并没有引用任何缓冲。


int byte_length = 0 🔗

  • void set_byte_length(value: int)

  • int get_byte_length()

这个缓冲视图的长度,单位为字节。如果为 0,则这个缓冲视图为空。


int byte_offset = 0 🔗

  • void set_byte_offset(value: int)

  • int get_byte_offset()

这个缓冲视图的起点相对于缓冲起点的偏移量,单位为字节。


int byte_stride = -1 🔗

  • void set_byte_stride(value: int)

  • int get_byte_stride()

交错数据的步幅,单位为字节。如果为 -1,则这个缓冲视图不是交错的。


bool indices = false 🔗

  • void set_indices(value: bool)

  • bool get_indices()

如果 GLTFBufferView 的 OpenGL GPU 缓冲区类型为用于顶点索引的 ELEMENT_ARRAY_BUFFER (整数常量 34963),则返回 true 。如果缓冲区类型为其他任何值,则为 false 。有关可能的值,请参阅 Buffers, BufferViews, and Accessors


bool vertex_attributes = false 🔗

  • void set_vertex_attributes(value: bool)

  • bool get_vertex_attributes()

如果 GLTFBufferView 的 OpenGL GPU 缓冲区类型为用于顶点索引的 ARRAY_BUFFER (整数常量 34962),则返回 true 。如果缓冲区类型为其他任何值,则为 false 。有关可能的值,请参阅 Buffers, BufferViews, and Accessors


方法说明

PackedByteArray load_buffer_view_data(state: GLTFState) const 🔗

从给定 GLTFState 中该缓冲区视图引用的缓冲区加载缓冲区视图数据。该方法尚不支持具有字节步幅的交错数据。数据以 PackedByteArray 形式返回。