在 OpenGL 上映射 Wavefront .obj 纹理顶点

2023-12-22

一位艺术家给了我所有 3D 模型,让我导出为 .obj 和 .mtl,以便我可以使用 OpenGL 渲染它。

但我不明白为什么纹理顶点大于 1,有时甚至是负值。 看一下这个例子:

(...)
vn -0.000717425 0.00106739 -0.00991695
vn 3.49779e-09 -5.22866e-09 -0.01
vn -0.00142294 0.00211706 -0.00966919
vn -0.00831486 -0.00555545 0
vt 5.82424 -20.091
vt 6.97527 -20.1873
vt 5.81848 -20.1618
vt -7.48189 8.29159
(...)

他以 TGA 格式向我发送了所有纹理,我正确加载了它,但我无法映射这些vts 为正确的 OpenGL 纹理向量。


但我不明白为什么纹理顶点大于 1,有时甚至是负值。

外部的纹理坐标[0..1]范围表示纹理重复。

给定一维纹理ABCD:

   -1    0    1    2
....|ABCD|ABCD|ABCD|....

确保GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T被设置为GL_REPEAT.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 OpenGL 上映射 Wavefront .obj 纹理顶点 的相关文章

  • 从活动顶点数组生成平滑法线

    我正在尝试通过挂钩 OpenGl 调用来破解和修改旧版 opengl 固定管道游戏的多个渲染功能 而我当前的任务是实现着色器照明 我已经创建了一个适当的着色器程序 可以正确照亮大部分对象 但该游戏的地形是在没有提供正常数据的情况下绘制的 游
  • OpenGL:仅使用一个帧缓冲区并切换目标纹理

    我是否可以只创建一个帧缓冲区对象并通过在需要时切换其目标纹理来实现相同的结果 而不是使用多个帧缓冲区对象 在所有情况下这都是一个坏主意吗 如果是 为什么 我一直在实现一个功能render SetTargetTexture 在我的程序的 AP
  • Qt 5 和 OS X Mavericks 问题

    我正在使用 Cmake 在 OS X 10 9 上构建 QT 项目 自 Mavericks 以来 OpenGL 标头的位置似乎发生了变化 文件夹 System Library Frameworks OpenGL framework Head
  • libgdx 中帧缓冲区的结果不明确

    我得到以下奇怪的结果帧缓冲区 http libgdx badlogicgames com nightlies docs api com badlogic gdx graphics glutils FrameBuffer htmllibgdx
  • 静态链接库时出现 glew 链接器错误

    我正在尝试在 Visual Studio 2012 中构建一个 opengl 项目 我想静态包含 glew 库 因此我从源代码构建它并将生成的 glew32sd lib 复制到我的 lib 目录 我将此 lib 路径提供给 Visual S
  • OpenGL NURBS 曲面

    我正在学习 OpenGL 我想要一个中间有轻微驼峰的表面 我目前正在使用这段代码 但我不确定如何调整 ctrl 点以使其达到我想要的方式 它目前就像 我想要这样的 我不完全确定我应该使用哪些控制点 并且我对其工作原理感到困惑 include
  • OpenGL Z 偏置(多边形偏移)限制

    我有两个共面的多边形 我尝试做 glEnable GL POLYGON OFFSET FILL glPolygonOffset 0 1 并期望其中一个明显 位于 另一个之上 这种情况直到大约 70 75 个单位之外 近剪裁平面为 1 远剪裁
  • 交错顶点提交如何提高性能?

    我已经阅读并看到了其他问题 这些问题通常都指向将顶点位置和颜色等交错到一个数组中的建议 因为这可以最大限度地减少从 cpu 发送到 gpu 的数据 我不清楚的是 即使使用交错数组 您仍然必须对位置和颜色指针进行单独的 GL 调用 OpenG
  • 没有着色器的 OpenGL

    我已经阅读了一些教程来编写以下代码 唯一的区别是原始教程使用 SDL 而不是 GLEW 我不明白这段代码有什么问题 它可以编译 但我没有看到三角形 教程也没有使用着色器 include
  • 使用 openGL、SOIL 加载图像

    我尝试了很多使用 SOIL 在 openGL 中加载和显示图像的示例 运行下面的源代码时 它仅显示一个没有图像的白色四边形 我尝试打开一个名为 foto 的图像 我将图像文件放在程序的文件夹中 bool keyStates new bool
  • 三角形未在 OSX 上的 OpenGL 2.1 中绘制

    我正在学习有关使用 OpenGL 在 Java 中创建游戏引擎的教程 我正在尝试在屏幕上渲染一个三角形 一切运行良好 我可以更改背景颜色 但三角形不会显示 我还尝试运行作为教程系列的一部分提供的代码 但它仍然不起作用 教程链接 http b
  • OpenGL z轴指向哪里?

    我正在尝试了解 OpenGL 坐标系 我到处都看到它被描述为右撇子 但这与我的经验不符 我尝试绘制一些形状和 3 d 对象 我发现 z 轴显然指向 屏幕 而 x 指向右侧 y 指向上方 这是左手坐标系的描述 我缺少什么 编辑 例如 http
  • 使用 glDrawElements 时在 OpenGL 核心配置文件中选取三角形

    我正在使用 glDrawElements 绘制三角形网格 并且希望能够使用鼠标单击来拾取 选择三角形 三角形的网格可以很大 在固定功能 OpenGL 中 可以使用 GL SELECT http content gpwiki org inde
  • 简单的线框格式?

    我正在寻找一种用于线框模型的简单文件格式 我知道 VRML u3D 等 但这些对于我的需求来说似乎很重要 我的标准是 必须有明确的规格 要么是开放的 要么是非常完善 记录的 我只需要 想要 简单的模型 顶点和边 我不想处理面孔或物体 如果格
  • 使用 GLSL 着色器在同一片段着色器中定义的多个子例程类型无法正常工作

    我正在开发一个使用 GLSL 着色器的程序 我编写了 2 种不同的方法来用 2 种不同的方法计算 ADS 环境光 漫反射 镜面反射 着色 为了正确完成这项工作 我使用子例程来使用一种或另一种方法来计算 ADS 着色 这是片段着色器代码的一部
  • 将像素传递给 glTexImage2D() 后会发生什么?

    例如 如果我创建一个像素数组 如下所示 int getPixels int pixels new int 10 pixels 0 1 pixels 1 0 pixels 1 1 etc glTexImage2D getPixels glTe
  • 对齐坐标系

    Let s say I have 2 coordinate systems as it is shown in image attached 如何对齐这个坐标系 我知道我需要将第二个坐标系围绕 X 平移 180 度 然后将其平移到第一个坐标
  • 使用draw()而不是eventloop时的pyglet

    我正在尝试用 pyglet 画一个圆 但当我使用 draw 函数而不是 app run 循环时 它是不可见的 有什么建议我可以做什么吗 谢谢 from math import from pyglet gl import window pyg
  • 为什么OpenGL使用float而不是double? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Linux 上运行我自己的程序的权限被拒绝? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有Ubuntu 9 4 我已经构建了程序 一些基本的 OpenGL 该程序只是制作一个旋转的正方形 然后运行它并 sh blabla p

随机推荐

  • API 网关返回 403 - 禁止

    我有一个 API 网关 其端点由 AWS Lambda 代理集成实现 我还为此端点配置了自定义授权者 我发现一个问题 我向该端点发出的第一个请求成功 但其他调用将会失败 我收到 403 禁止错误 如果我等待一段时间 我可以发出另一个成功的请
  • 无法导入seaborn

    我在导入seaborn时遇到问题 我最近在我的电脑上安装了 anaconda 并尝试使用seaborn pacjesge 我更新了scipy and numpy 其实更新之前scipy蟒蛇看不到seaborn 什么是问题 请帮我 Pytho
  • jest 测试调试期间 EADDRINUSE 127.0.0.1:5858

    热以避免在调试期间抛出以下错误Jest https facebook github io jest tests Error listen EADDRINUSE 127 0 0 1 5858 at Object exports errnoEx
  • 带有 unix 套接字的同步 boost asio 的延迟/延迟

    我编写了一个客户端 服务器应用程序 它使用异步 boost asio 网络 boost asio async write and boost asio async read 在服务器端和同步调用 boost asio write and b
  • 无法登录系统用户postgres

    我使用brew在mac上安装了postgresql 安装过程中没有询问我 postgresql 的密码 现在我需要创建一个用户但不能 Alexs MacBook Air mydir alex su postgres Password su
  • 如何在 javafx TreeView 中使目录可扩展

    我有一个问题 我不知道如何解决 也无法在网上找到一些线索 但问题应该是微不足道的 我有一个TreeView
  • Pharo Smalltalk:从 TextMorph 读取

    在使用 Pharo 的 Smalltalk 中 我正在创建一个读取用户输入并执行 X 操作的应用程序 到目前为止 我已经成功制作了一个 TextMorph 用户可以在其中输入值 但我不确定如何从 TextMorphs 中读取内容 然后对该值
  • Chrome/Safari 中的图像插值模式?

    我需要使用最近邻调整大小来渲染图像 而不是当前使用的双三次方式 我目前使用以下内容 ms interpolation mode nearest neighbor image rendering moz crisp edges 这适用于 IE
  • 使用 jQuery 将 WordPress 帖子附件移动到每个帖子动态创建的列表?

    我的目标是从 WordPress 帖子中剥离图像和 iframe 它们位于 para div 中 并将它们移动到 ul 在帖子上方 就在本地包装器 wrapper940 内 下面的 jQuery 可以工作 但是将所有帖子中的所有图像和 if
  • Objective-C:表格单元消失时是否会发生任何事件?

    当表格单元格消失 滚动表格时 时 是否有任何我可以覆盖的消息 我认为它应该类似于dealoc 我问这个是因为我有以下情况 我有一个包含许多单元格 100 的表格 每个单元格都包含一个 ImageView 为了加载图像 从 URL 我使用 N
  • 如何为Android编写驱动程序? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我一直在尝试了解android驱动程序开发 我知道驱动程序开发不是一件容易的事 但我想学习 有任何教程或任何简单的例子吗 我假设您指的
  • async/await 与手工制作的延续: ExecuteSynchronously 是否被巧妙地使用?

    我最近写了以下代码 Task
  • 大于和小于 MySql 查询因小数字段而失败

    我有一个包含 3 列的数据库 user id lat lon 1 1 403976 53 428692 2 1 353276 55 224692 etc etc 纬度和经度都设置为小数字段 我正在运行与此类似的查询 但它不会根据大于和小于给
  • 将多个 Excel 工作簿合并为一个具有多个工作表的工作簿

    我有大约 70 个不同的 Excel 文件 需要将它们合并到一本主工作簿中 我希望每个 Excel 文件在主工作簿中都有自己的工作表 主工作簿中生成的工作表的名称并不重要 我从另一个网站检索了此代码 但无法使其满足我的需求 该代码规定所有要
  • RStudio 中的 install.keras() 失败并出现 http 连接错误

    我一直试图在 RStudio Windows 中安装并运行 keras 但没有成功 我使用普通包 keras 安装了 keras 包 没有使用github 我已经安装了最新的 python 3 6 和 Anaconda 然后我用 gt li
  • 使用 pdfkit 时可以在同一段落中混合使用字体粗细吗?

    我正在尝试寻找一种使用方法粗体字体粗细用于内联强调pdfkit http pdfkit org 不幸的是 我无法找到一种在不强制换行的情况下更改字体的方法 不利于内联强调 我正在尝试类似的事情 pdf text Hello LEFT 200
  • EGIT 分支本地与远程跟踪

    我是 GIT 新手 我将 EGIT 与 eclipse 一起使用 我有一个关于分支机构的问题 我在其中看到 本地 和 远程跟踪 两个部分 如果我必须在其中一个分支机构工作 我认为有两种方法可以完成它 a 检查远程跟踪下的 origin fe
  • Yii2 - 将变量从视图传递到 Gridview 自定义操作列

    我想保存用户在单击页面的 gridview 小部件中的 编辑 按钮之前访问的最后一个位置 我创建了一个名为 lastAddress 的变量 但我真的不知道如何将其传递到 gridview 并将其附加到 编辑 按钮的 url 变量中 谁能告诉
  • SecTrustEvaluate 上始终为 EXC_BAD_ACCESS

    我在用苹果的示例代码 https developer apple com library mac documentation security conceptual CertKeyTrustProgGuide iPhone Tasks iP
  • 在 OpenGL 上映射 Wavefront .obj 纹理顶点

    一位艺术家给了我所有 3D 模型 让我导出为 obj 和 mtl 以便我可以使用 OpenGL 渲染它 但我不明白为什么纹理顶点大于 1 有时甚至是负值 看一下这个例子 vn 0 000717425 0 00106739 0 0099169