wavefront相关内容

为什么我的 OBJ 解析器渲染网格是这样的?

我自己负责将 OBJ 解析器/导入器支持添加到我一直在开发的 3D 渲染引擎中.我遵循了规范 found HERE当前的例外是将所有支持限制为组、面、顶点、法线和纹理坐标(因此目前还没有材质库或自由形式的多边形支持).我的目标是简单地逐行解析——随着我的进行生成面向对象的、分层的树状场景图——并允许开发人员通过很少的手动调用自动将数据绑定到着色器程序,以便开始操纵 &查看网格.最终结果是我的引擎成 ..
发布时间:2021-12-19 17:46:06 Java开发

如何根据 Wavefront (.obj) 文件中给出的纹理索引对纹理位置进行排序?

我目前正在尝试为 OpenGL 项目制作 Wavefront (.obj) 文件加载器.我目前使用的方法是逐行分离向量 (std::vectors) 中的顶点位置、纹理位置和法线位置,我将它们的索引(顶点、纹理和法线索引)存储在三个独立的向量(来自文件的“f"行,对于每个面). 我无法根据纹理索引对充满纹理坐标的向量进行排序.我能够在正确的位置渲染顶点,因为我的“加载器"类调用索引,但我无法 ..
发布时间:2021-12-19 17:41:08 C/C++开发

opengl 中的对象加载器

我在 C++ 中创建了一个程序,它也包含 opengl,我还想创建一个 obj 加载器以加载我拥有的 obj 文件!我已经创建了两个函数,它们是: void ReadFile(model *md){//打开文件读取OBJINFO.TXTifstream obj_file("tree.obj");如果(obj_file.fail())退出(1);//获取顶点数obj_file >>md->顶点;/ ..
发布时间:2021-12-19 17:38:32 C/C++开发

带有 ModelIO 的混合拓扑(四/三)

我正在使用 ModelIO 导入一些简单的 OBJ 资产,如下所示: let mdlAsset = MDLAsset(url: url, vertexDescriptor: nil, bufferAllocator: nil, preserveTopology: true, error: nil) ... 然后将它们添加到 SceneKit SCN 文件中.但是,每当我有同时具有四边形/三边形 ..
发布时间:2021-11-25 03:01:04 移动开发

Wavefront .obj 文件是否支持动画?

如何将 3D Studio 动画模型导出为 OBJ 格式(如果可能)?生成的文件会是什么样的?我该怎么读? 解决方案 不,.obj 文件不支持动画. 您可以查看.obj 规范以了解它的详细信息确实支持. 您可以潜在地每帧导出一个 .obj,但这会很麻烦.根据工具的不同,每个关键帧可能导出一个 .obj. ..
发布时间:2021-11-10 05:46:58 其他开发

Pyopengl 读取 obj 文件

我试图用 pyopengl 读取 obj 文件,但错误来自 glGenList(1)我只想读取文件并在 opengl 中显示请你能帮我提供完整的代码吗; 我厌倦了堆栈和错误,我花了 3 小时才发布这个从 OpenGL.GL 导入 *从 tkinter 导入消息框导入系统 filename = input('请输入文件路径:')OBJ 类:def __init__(self, 文件名, sw ..
发布时间:2021-06-12 20:09:32 Python

Open GL中体素模型上的纹理映射

我正在观看有关使用LWJGL在YouTube上播放Open GL的视频系列,到目前为止,我已经设法使用obj格式渲染3d模型并对其进行适当的纹理处理.我想在游戏中使用基于体素的模型,因此我进入了MagicaVoxel软件,导出了具有obj格式的纹理示例,但纹理未正确映射.确实,某些颜色似乎已正确映射,但其他人的脸则具有整个纹理. 以下是预期结果的图片: 这是我的片段着色器: #ve ..
发布时间:2021-05-30 21:48:38 Java开发

如何将简单的.obj文件解析为三角形?

我正在尝试实现射线投射器,并且我从简单的.obj文件(犹他-茶壶)开始,目前我只为Spheres和Triangles创建类,我基本上具有交集的所有功能,生成查看光线等.所有这些都准备好了,但是我似乎无法将.obj文件解析为三角形(每个三个向量),因此我可以在自定义.obj文件而不是球体上进行光线投射./p> 这是我当前的.obj文件解析器(此处未包含完整的工作代码) char lineHea ..
发布时间:2021-05-11 18:59:15 C/C++开发

当将纹理映射到网格时,Vtk在节点之间插入不正确的颜色

嗨,我正在尝试使用Mayavi和vtk的Python绑定将纹理映射到3d网格.我正在可视化.obj波前.该obj是一张脸的3D照片.纹理图像是三张2D照片的合成. 网格中的每个节点在图像中都有一个(uv)坐标,用于定义其颜色.网格的不同区域从图像的不同部分绘制颜色.为了说明这一点,我将实际的纹理图像替换为以下图像: 并将其映射到网格. 我的问题在鼻子周围显示出来.在红色和绿色之间 ..
发布时间:2020-07-14 02:07:20 Python

解析wavefront obj文件由three.js中的多边形组成

在我的3D对象中;我有几个盒子; obj 和有什么解决方案可以将这些面分割为目标文件并将其加载? 解决方案 导出模型之前,需要对模型进行三角剖分.那里的大多数3D编辑器都具有此选项.一些编辑器在OBJ导出器选项中将该选项作为选项.如果不是这样,您可以复制/备份模型,进行三角剖分,导出然后删除/隐藏. ..
发布时间:2020-07-14 02:07:16 其他开发

解析为多个向量成员

我想递归地解析一个字符串并将结果存储在一个结构中.我写了一个可以处理一次迭代的解析器.输入的格式如下: v 1.5 2.0 2.5 v 3.0 3.5 4.0 f 1 2 3 f 4 5 6 v 4.5 5.0 5.5 v 6.0 6.5 7.0 f 7 8 9 f 10 11 12 问题在于它仅解析前4行,在遇到的第三个'v'处停止.完整的代码如下.如何修改此代码,以便也将其 ..
发布时间:2020-07-14 02:07:13 C/C++开发

带有ModelIO的混合拓扑(四/三)

我正在使用ModelIO导入一些简单的OBJ资产,如下所示: let mdlAsset = MDLAsset(url:url,vertexDescriptor :无,bufferAllocator:无,保留拓扑:true,错误:无) ...然后添加它们到一个SceneKit SCN文件。但是,只要我具有同时具有四边形/三边形的网格(通常是这种情况,例如眼球网格),结果网格 ..
发布时间:2020-05-31 21:14:15 移动开发

带有Boost Spirit的OBJ解析器-忽略评论

我正在尝试使用Boost Spirit库编写一个基本的OBJ文件加载器.尽管我使用标准std :: ifstreams使其工作,但我想知道是否可以使用内存映射文件对整个文件执行phrase_parse,因为它似乎提供了最佳性能,如我有以下代码,看起来似乎不错,但是当文件中有注释时,它就会中断.因此,我的问题是,如何使用Spririt忽略OBJ文件中以“#"开头的注释? struct vert ..
发布时间:2020-05-25 01:18:23 C/C++开发

OpenGL-使用glDrawElements纹理映射不正确

我正在创建一个OBJ解析器,该解析器读取文件并使用glDrawElements进行绘制.这里的事情是正确绘制了模型,但是当我尝试给它贴图时,它的映射不正确.我已阅读此处,其中"OpenGL只能使用一个索引缓冲区,而OBJ按属性使用一个索引缓冲区".我还研究了使用glDrawElements时纹理映射不正确的情况,发现我需要重新排列纹理,因为仅共享顶点,而不共享纹理.说完所有这些,我应该如何重新排列 ..
发布时间:2020-05-21 00:05:15 C/C++开发

如何基于Wavefront(.obj)文件中提供的纹理索引对纹理位置进行排序?

我目前正在尝试为OpenGL项目制作Wavefront(.obj)文件加载器.我目前使用的方法逐行移动,并在矢量(std :: vectors)中分离顶点位置,纹理位置和法线位置,并将它们的索引(顶点,纹理和法线索引)存储在三个单独的位置向量(从文件的"f"行开始,针对每个面). 我无法根据纹理索引对充满纹理坐标的向量进行排序.我可以在正确的位置渲染顶点,因为我的“加载程序"类需要索引,但是 ..
发布时间:2020-05-20 21:49:56 C/C++开发