gpt4 book ai didi

c++ - 用于 OpenGL3.1+ 上下文的分层 COLLADA 加载器

转载 作者:可可西里 更新时间:2023-11-01 17:29:47 25 4
gpt4 key购买 nike

哪些层有助于有效地实现这一点?最好是这样我能够将下面列出的这三个组件与早期层放在一起,并在我进行时对其余部分进行编码。

我正在编写一个 COLLADA 加载库以与我的图形引擎一起使用。所以当然,一开始我就注意到这似乎是一项相当大的任务。我现在打算编写库以使用不同的层。

还不了解 COLLADA。我假设可能有:

  • 几何层
  • 着色器层
  • 纹理层

即使是我不确定的这些,也可能需要成为另一种分层方案的一部分。

旁注,我很可能会使用 irrXML或者这个 interesting XML library我刚读到 here除非另有说明,否则阅读文件。

最佳答案

您是否知道开放 Assets 导入库 ( http://assimp.sourceforge.net/ )?它对 Collada 加载和图形引擎中的目标使用有相当不错的支持。自己编写一个 collada 加载器不仅困难,而且还需要很长时间才能使其足够稳定以供生产使用,主要是因为格式非常复杂(或者,正如 Assimp 的 Collada 加载器的主要作者开玩笑地说的那样:几乎是图灵完备的),每个导出商都有自己奇怪的习惯。

如果您需要额外的功能,您可以在 Assimp 的 Collada 加载程序的基础上完成您的工作,并添加您需要的内容(BSD 许可,只要您注明来源,您就可以使用它)。

注意:我隶属于该项目,因此并非没有偏见。但是在我们编写自己的 Collada 加载程序时经历了可怕的经历之后,我觉得不得不警告你......

Side note, I will most likely be using irrXML

我们也在用。 如果您真的要从头开始,请不要。使用 DOM 解析器,例如 TinyXML。 Collada 很复杂,但定义非常明确,SAX 解析器只会加强工作,因为您必须自己构建文档树(并且您*将**需要一个类似于完整文档的数据结构——Collada 元素是高度互连的。要从中读取有意义的内容,需要解决各种交叉引用)。

关于c++ - 用于 OpenGL3.1+ 上下文的分层 COLLADA 加载器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4913631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com