首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >OpenGL:为ARRAY_BUFFER和ELEMENT_ARRAY_BUFFER使用单个数据块

OpenGL:为ARRAY_BUFFER和ELEMENT_ARRAY_BUFFER使用单个数据块
EN

Stack Overflow用户
提问于 2020-05-22 15:32:12
回答 1查看 152关注 0票数 2

我试图绘制一个glTF模型,其中所有的几何都是索引的,例如:

代码语言:javascript
运行
复制
"meshes": [
{
  "name": "Plane.010",
  "primitives": [
    {
      "attributes": {
        "POSITION": 0,
        "NORMAL": 1,
        "COLOR_0": 2
      },
      "indices": 3, <-- here
      "material": 0
    }
  ]
},

但是只定义了一个缓冲区,没有缓冲区视图指定目标:

代码语言:javascript
运行
复制
"buffers": [
    {
        "uri": "data.bin",
        "byteLength": 4518576
    }
]

因此,我使用对glBufferData的单个调用将二进制数据发送到GPU,并绑定了VertexArray。现在,我需要以某种方式使用glDrawElements绘制原语。是否有一种方法可以创建ELEMENT_ARRAY_BUFFER并将其指向已经加载的缓冲区的一部分?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-22 15:35:23

是否有一种方法来创建一个ELEMENT_ARRAY_BUFFER并将其指向已经加载的缓冲区的一部分?

没有必要这样做,因为根本没有输入OpenGL缓冲区对象。您可以同时将相同的缓冲区绑定到不同的绑定目标,而不会出现任何问题,因此您可以简单地绑定与ARRAY_BUFFERELEMENT_ARRAY_BUFFER相同的缓冲区。您只需要在glDrawElements调用中使用特定的字节偏移量。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61958534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档