问题标签 [wavefront]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3796 浏览

opengl - Wavefront obj 文件,Faces 有 3 个纹理坐标

我从搅拌机导出了一个 .obj 以加载到我正在编写的 C++ 程序中 一切都很好,但我想知道在解析面部时我注意到面部数据的第三点上有一个未使用的纹理坐标。

这是干什么用的?我应该保留它吗?

0 投票
2 回答
469 浏览

c++ - Blender Wavefront Object:面声明中的顶点数大于所有顶点数

我正在尝试使用我自己的解析器将 Wavefront 对象加载到我的 C++ OpenGL 程序中。解析器适用于某些 .obj 文件,但在某些文件中它会抛出一个 .obj 文件index out of range exception。经过一些调试后,我发现文件中的一行引用了一个带有数字的顶点10565

但该文件仅包含10531顶点。

问题:

  • Blender 如何仍然能够导入文件?
  • 即使它不存在,哪个顶点使用“10565”引用Blender?
0 投票
5 回答
13105 浏览

three.js - Wavefront 的 OBJ 和 MTL 的 MIME 类型

我正在使用 ThreeJS 和 WebGL 构建一个小的 3D 应用程序。我故意选择不将模型转换为与 ThreeJS 兼容的 .json 文件,而是开始构建导入器。它可以工作,但我还计划让应用程序决定使用文件扩展名和 MIME 类型加载的模型类型,如果第一个未知,则后者。

我在某处读到 MIME 类型应该是application/wavefront-obj,这有点奇怪,因为还有model树,但无论如何都可以。尽管在 IANA 网站上浏览此文件类型不会产生任何结果。

我错过了什么吗?

0 投票
0 回答
361 浏览

c++ - 对象加载器未正确显示

所以这是使用opengl的c ++中的obj加载器它似乎将我输入的立方体显示为平面它似乎正确定位它们但我尝试过的所有对象都作为平面出现(见图)

https://docs.google.com/file/d/0B8AdFl9H3IJVRG9FbFo1UnpWaUE/edit?usp=sharing

我尝试过其他 3d 对象,它们似乎都像这架飞机一样出现(可能大小不同)

我试过的

  • 在线查看其他 obj loader
  • 慢慢运行调试
  • 检查向量是否正确加载
  • 检查读入是否正确
  • 项目清单

类型定义.h

加载器.h

加载程序.cpp

在main里面我调用了一个叫做banner的函数

它被糟糕地创建为一个全球性的

0 投票
2 回答
872 浏览

java - 在java中优化OBJ文件(3d模型)加载

在开始之前,我为我的代码中缺少注释表示歉意。我目前正在制作一个 OBJ 文件加载器(在 java 中)。虽然我的代码对小文件按预期工作,但当文件变大时(例如,我目前正在尝试加载一个包含 25,958 行的 obj 文件)我的整个系统崩溃。我最近从 C++ 迁移了我的整个项目,它可以快速加载这个模型。我使用了一个分析器和一个调试器来确定整个过程在哪里使我的系统崩溃。我注意到了一些事情;首先,它在启动过程中挂起;其次,我的堆几乎完全用完了(我用了大约 90% 的堆。)我的代码可以在这里找到:http: //pastebin.com/VjN0pzyi 我很好奇我可以用来优化这段代码的方法。

0 投票
1 回答
261 浏览

opengl - OpenGL纹理模糊

我正在使用 OpenGL 来渲染这个谷物盒,但纹理看起来很乱(见下文)。当我稍微改变一下视图时,它的混乱方式就会改变。您认为造成问题的原因是什么?

图二 图一

0 投票
0 回答
1005 浏览

opengl - Opengl - 带有 VBO 纹理的 OBJ 文件的 indexList (glDrawElements)

我为opengl 制作了一个obj-loader。因此,我读取所有面(一个接一个)并将有序顶点、法线和 uv 坐标写入(openGL-)缓冲区(GL_ARRAY_BUFFER)中。这意味着我根据 obj 文件中的 faces-section 内容复制所有必要的顶点、法线和 uv 坐标。然后我用 glDrawArrays() 绘制它们

……一切都好。

为了节省一些内存,我想使用索引列表,并使用 glDrawElements(),但我遇到了一个问题。请看以下两张图片:

三角四边形

紫外线贴图

考虑顶点 P0 和三角形以及它在 OBJ 文件的面部分中的内容

三角形

...一切都很好,但是

好的,问题是什么?

我认为的解决方案类似于:

  • 每个顶点、法线、uvs 的列表
  • 读取 OBJ 文件的 faces-section
    • 获取顶点的索引 -> 将顶点写入顶点列表中的位置(索引)
    • 在 normal-List 中的位置(索引)上写法线
    • 在 uv-List 中的位置(索引)上写入 uv
    • 现在问题顶点具有不同的 uv 坐标,因此
      • 检查列表元素是否“空”或不是 0 --> 好的,有一个顶点,我们必须复制当前顶点、法线和 UV,并将它们写入所有列表中的新索引,并写入新索引到索引列表

现在我的问题...

有没有更好的方法来处理 obj 文件的面部分中相同顶点的不同 uv 坐标的问题?

0 投票
1 回答
763 浏览

java - OBJ 文件的 OpenGL 线框渲染

我正在编写一个程序,它只需要读取一个 .obj 文件并以线框模式呈现它。我已经阅读了我想要渲染的 .obj 文件(正确 - 我相信)。但我遇到了一些问题......它应该是线框,但是......(下图)

我的输出

这是代码:

注意:代码中的 Vector3f 是我制作的数据结构。

我已经尝试了我能找到的所有东西,但它仍然不会将图像渲染为线框!:-/

有人可以帮忙吗?

0 投票
1 回答
770 浏览

java - JAVA OpenGL - 缩放图像以适合窗口

我正在编写的程序有问题。目前我正在读取一个 OBJ 文件并正确渲染它。但我的问题是,有些图像不适合我的窗口。

我尝试使用 glScalef 对其进行缩放,但图像仍然变形。(几乎总是在 Z 上)

这是我设置窗口的方式:

这是我的规模尝试

在此处输入图像描述

在此处输入图像描述

无论我尝试什么,图像在 x 上总是很短,或者在 z 上总是很大!

有人可以帮忙吗?谢谢 :-)

0 投票
1 回答
923 浏览

python - 试图解决一个迷宫(波前算法)

您好,我正在尝试使用波形算法(在此处解释)在 python 中编写迷宫求解程序。我正在使用嵌套循环来循环遍历矩阵并更改此动画 gif 中的数字。

然而,它似乎只是循环通过我的矩阵的第一行,而不是移动到其余部分。我已经盯着这个东西看了很长一段时间,我希望对它有一些新的看法会有所帮助。

谢谢,洛根