opengles 在 iPhone 中显示人脸

2023-12-04

我需要将人类 2D 脸部制作为 3D 脸部。 我用了这个链接加载“.obj”文件并映射纹理。此示例仅适用于立方体和金字塔。我加载了人脸“.obj”文件。

This loads the .obj file and can get the human face properly as below. enter image description here

但我的问题是我需要在不更改“.obj”文件的情况下显示不同的人脸。仅通过纹理映射。

但纹理未正确映射,因为 obj 文件具有不同的模型。我只是尝试更改用作纹理的“.png”文件,下面是结果,其中纹理被映射,但不完全符合我的预期,如下所示。

enter image description here

以下是我对此的几个问题:

1)我需要使用不同的图像在同一模型(具有相同的.obj文件)上加载纹理。在 opengles 中可能吗?

2)如果上述问题的解决方案是“形状匹配”,我该如何用opengles做到这一点?

3)最后一个基本问题,我需要大面积显示图像,如何使显示区域更大?


mtl2opengl实际上是我的项目,所以感谢您使用它!

1) 实现完美纹理交换而不失真的唯一方法是两个纹理以完全相同的方式映射到 UV 顶点。看看下面的图片:

Texture Swapping with misaligned vertices

  • 型号A:金发女孩
  • 型号B:阿什利海德

正如您所看到的,纹理是为了适合模型而制作的。因此,任何交换到不同的几何目标都会导致失真。简单地说,人类头部/面部有两个组成部分:内部(骨骼/几何)和外部(皮肤/纹理)。内部方面显然定义了外部,因此同一 .obj 文件上的完美纹理交换将不起作用,除非您通过交换更改模型的几何形状。

2)这可以通过一种称为位移贴图可以在 OpenGL ES 中实现,但预计多个头/面会遇到困难。这需要您的目标 .obj 几何体从一个非常通用的模型(例如人体模型)开始,然后使用每个纹理来移动模型顶点的位置。我认为您需要非常熟悉建模、图形、着色器和数学才能完成这一任务!

enter image description here

  • Via 维基百科

3)我将在下次更新中添加更多变换选项(缩放和平移)。 Xcode 项目实际上是为了展示 PERL 脚本,而不是作为 iOS 上 OpenGL ES 的入门读物。现在,找到modelViewMatrix并摆弄这一点:

GLKMatrix4Scale(_modelViewMatrix, 0.30, 0.33, 0.30);

希望能回答您所有的问题!

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

opengles 在 iPhone 中显示人脸 的相关文章

  • 使用 OSX 10.9 和 Xcode 6.1.1 + 自定义输入视图作为 Swift 中文本字段的键盘

    加载自定义输入视图键盘后 我在连接按钮时遇到问题 我的主屏幕是故事板 我的自定义视图是 xib 输入视图是一个 nib 文件所有者指向它的 swift 类 我正在使用另一个视图控制器中的代码加载输入视图 extension UIView c
  • 为 3D 模型的某些部分添加纹理

    我在实现 ARKit SceneKit 时遇到一个问题 我只想向 3D 模型的某些部分添加纹理 例如汽车的 3D 模型 我想更改车轮和镜子的纹理 let dragonScene SCNScene named art scnassets Dr
  • 弹出窗口不指向按钮

    我有一个与 iPhone 和 iPad 布局兼容的应用程序 对于 iPhone 布局 我为 iPad 创建了 Action Sheet 和 Pop over 问题是弹出窗口的箭头没有指向我单击的按钮 下面是我的代码 let actionSh
  • iOS 7 仅横向应用程序无法访问照片库

    我有一个仅限风景的应用程序 每当我访问照片库时 应用程序就会崩溃 因为UIImagePickerViewController正在尝试以纵向模式加载 应用程序在 iOS 5 和 6 中运行良好 我收到以下错误 由于未捕获的异常而终止应用程序
  • Cocoapods 和 Xcode,ld:找不到 -lAFNetworking 的库

    我有这个 pod 文件包含所有这些库 platform ios 7 0 target PP for iPad do pod AFNetworking 1 1 pod RaptureXML 1 0 pod NoticeView pod iVe
  • LocalNotifications 的振动和声音

    如何向本地通知添加振动和声音 code UILocalNotification notification UILocalNotification alloc init NSDate firedate settime date notific
  • 来自应用程序的 Apple TV 上的 AirPlay 元数据 (AVPlayer - MPVolumeView)

    我的应用程序成功通过 AVPlayer 传输 MP3 我实现了一个 MPVolumeView 来引入 AirPlay 支持 效果很好 但我注意到我的苹果电视上的标题信息没有显示流式 MP3 中的任何内容 而只是显示 未知 信息 是否有办法从
  • Swift 中的等效 android.content.BroadcastReceiver

    我想知道 Swift 中是否有等效的 android content BroadcastReceiver 我需要相同的处理程序 例如onReceive Context context Intent intent 有可能的 谢谢 Ysee 在
  • Skobbler 地图无法使用 ZoomToRouteWithInsets 进行缩放

    在skobbler地图上 我计算了一条路线 如果我拖动地图中的某个位置 然后在按钮中单击 我想查看我的路线 在文档中给出了这些方法 将地图缩放到当前计算的路线 SKRoutingService sharedInstance zoomToRo
  • 存储应用内购买的正确且安全的方式

    在设备上存储应用内购买的最佳方式是什么 这样购买也可以离线访问 但是 购买的安全性没有受到损害 不要在设备上存储任何有价值的东西 因为它不可信 并且很容易被有动机的人破坏 现在 所有这一切都取决于所购买物品的类型和价值 以及如果物品受损会发
  • 无法使用 double 类型的左值初始化“id _NonNull”类型的参数

    目标C 我有多个 double long long NSString 和 int 类型的变量 我想将它们放入一个数组中 以便在 CSV 文件中作为单行打印 NSArray ValArray NSArray arrayWithObjects
  • 应用程序名称中的撇号

    我打算在 Apple 商店中发布一款标题中包含撇号的应用程序 我注意到 当 目标 名称包含撇号时 XCode 在构建代码时已经存在问题 我已经通过使用以下字符设法解决了这个问题 暂时 与以下相反 这似乎构建得不错 但我有点担心以后可能会发生
  • 从故事板向 UILabel 属性字符串添加下划线失败

    从故事板中我选择有问题的 UILabel 然后在属性检查器 gt 标签 gt 我选择 属性 同样在属性检查器 gt 标签 gt 文本 gt 我选择内容 然后我单击字体图标并选择下划线 基本上 我从弹出的 字体 窗口中选择的任何更改都不会生效
  • SpriteKit中滚动背景的速度逐渐增加

    我正在 SpriteKit 中制作一个简单的游戏 并且我有一个滚动背景 简单的情况是 在加载游戏场景时 一些背景图像彼此相邻放置 然后当图像滚动到屏幕外时 图像会水平移动 这是我的游戏场景中的代码didMoveToView method s
  • 如何检查 iPhone 的 IPv6 地址

    我已经根据苹果的建议设置了 IPv6 nat64 环境 https developer apple com library ios documentation NetworkingInternetWeb Conceptual Network
  • presentOpenInMenuFromBarButtonItem:不会导致菜单出现

    我试图通过以下方式显示 打开方式 菜单UIDocumentInteractionController and presentOpenInMenuFromBarButtonItem 这不会提出UIDocumentInteractionCont
  • 如何为应用程序加载器创建上传文件?

    当我使用应用程序加载器时 它要求我 选择 要上传的文件 如果我理解正确 它应该是我在应用程序包的 产品 下看到的 appName app 文件 我右键单击它并选择 在 Finder 中显示 以访问库中的特定文件 那么我应该将其压缩 ZIP
  • Twitter iOS 个人资料页面配置

    我正在尝试构建一个类似于 Twitter 个人资料页面的页面 看起来他们正在使用基本的UITableView 最上面的配置文件就是tableHeaderView 这些选项卡是UISegmentedControl在SectionRowHead
  • 使用 XCode 5 的 iPhone 弹出窗口视图

    我想重复使用 iPhone 中描述的弹出窗口这个视频 http youtu be 1iykxemuxbk这正是我所需要的 问题是我无法绑定UIViewController弹出窗口的属性UIViewController就像视频中一样 该视频的
  • PerformSegueWithIdentifier 不会产生带有标识符错误的 Segue

    我很难让 PerformSegueWithIdentifier 正常工作 我不断得到 Receiver

随机推荐

  • 为什么带单引号的字符串在插入数据库时​​会引发错误?

    我的问题是 如何在字符串中允许单引号 例如 我有一个表单和一个文本框 它被设置为允许用户输入他们的名字 从那里 它发布数据并将其输入数据库 我需要能够允许使用单引号 撇号 因为有些人的名字中含有撇号 例如 O Reilly 有什么建议么 不
  • Android/Facebook:在墙上发布消息

    我想通过 Android 应用程序在我自己的墙上发布消息 我有方法 loginToFacebook 来登录 单击按钮时 如果用户已登录 我希望发布一条消息 我不太熟悉 facebook API 因此我查看了 facebook 开发人员文档和
  • Swift 中是否有比 u_long/UInt64 容量更大的数字类型?

    有没有比容量更大的类型u long or UInt64在斯威夫特 我有一个函数 它需要非常大的整数来识别 28 位的信用卡号码 func myFunc number What to put here body 什么类型合适 应该number
  • System.MissingMethodException:没有为此对象定义无参数构造函数

    我将 MVC 2 0 与 Html ListBoxFor 一起使用 如下所示
  • Azure AD B2C - 使用电子邮件或移动设备注册/登录

    我正在使用 Azure AD B2C 我们的产品团队向我们提出了一项偏好 要求 允许用户使用电子邮件地址或手机号码作为用户 ID 进行注册 登录 目前 内置流程仅允许电子邮件或用户名作为用户 ID 有有力的证据建议我们创建一个自定义策略以允
  • PushState 更改 - 相当于 Chrome 扩展 onHistoryStateUpdated

    我正在将 Chrome 扩展程序移植到 Firefox 扩展程序 由于其运行的网站的性质 我需要监视pushState Chrome 扩展有一个方便的方法来处理这个问题 chrome webNavigation onHistoryState
  • 如何使用 Pandas 转置将数据从一个数据帧添加到另一个数据帧?

    客观的 使用转置将一个数据帧填充到另一个数据帧 df pd DataFrame Attributes love family tech df T 产生以下输出 0 1 2 Attributes love family tech 其次 我有另
  • 在 iOS 6 中使用 SLRequest 与 Facebook

    我目前正在尝试使用 SLRequest 在 facebook 上发布状态 这是我的代码 ACAccountStore accountStore ACAccountStore alloc init ACAccountType accountT
  • 保存 html 画布图像

    我知道这个问题可能已经有了答案 但我还没有找到它 而且我的项目有一个截止日期 所以我制作了一个 html5 画布 我希望能够用一个 或多个 按钮做两件事 我希望用户能够通过单击 保存 按钮来保存他刚刚完成的操作 理想情况下我希望下载图像 而
  • C# 相当于 C 的 fread 文件 i/o

    谁能告诉我如何在 C NET 版本 2 中以直接方式将字节数组放入结构中 就像熟悉的fread正如在 C 中所发现的 到目前为止 我在读取字节流和自动填充结构方面还没有取得太大成功 我见过一些实现 其中托管代码中存在指针骗局 方法是使用un
  • CSS 和 Javascript 不渲染 404 错误 spring-boot

    这是我正在使用的路径的片段
  • 如何在 Excel 操作窗格中使用 WPF 控件?

    有几个资源解释了如何添加WinForms控件到 Excel 看这两个 http msdn microsoft com en us library vstudio e3zbk0hz 28v vs 100 29 aspx http www cl
  • 在 Win7 中使用 MinGW 中的 pthreads

    2015年1月20日 我在Win7中使用MinGW 尝试使用MinGW和Pthreads编译我的源代码 MinGW已经支持POSIX线程 在 MinGW安装管理器 中 我们可以安装pthreads开发包和pthreads lib 但是当我编
  • 在Python中,命令行参数无需导入?

    在Python中 是否可以在不导入sys 或任何其他模块 的情况下获取命令行参数 是的 如果您使用的是 Linux 如果您知道进程 ID 则可以读取它 proc pid cmdline文件 其中包含以 null 分隔的命令行参数列表 PRO
  • VBA Excel 变量对多个键/顺序进行排序

    如何同时对多个列 键 订单 进行排序 当我运行下面的代码时 它会在执行每一行时对数据重新排序 而不是在排序中对多列进行排序 将 密钥 或 订单 编号从 1 更改为 2 等没有帮助 谢谢 wsLast Row Cells Rows Count
  • javascript数组的总和返回所有数字的字符串连接[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 目前不接受答案 我有一个由 ajax 获取的 php json encode 对象 我想做的就是对这个数组求和 这是我到目前为止所做的 var json parseJSON data var
  • 如何在Tensorflow中设置分层学习率?

    我想知道是否有一种方法可以像 Caffe 中那样对不同层使用不同的学习率 我正在尝试修改预先训练的模型并将其用于其他任务 我想要的是加快新添加层的训练速度 并将训练后的层保持在较低的学习率 以防止它们被扭曲 例如 我有一个 5 卷积层的预训
  • 当服务打开时,如何强制应用程序选择退出省电模式?

    预期的行为是应用程序在处于开启状态时将始终运行 当应用程序一段时间不活动时 某些手机会将应用程序置于后台模式 我希望应用程序始终运行 即使处于待机模式 待机模式意味着当我们按下主页按钮时 应用程序将进入后台 并且它将运行一段时间 我找到了以
  • 配置按键重复延迟以检测按键是否被按下

    我正在用 C 语言编写一个程序 它使用 ncurses 来检查是否按下了某个键 问题是按键重复有延迟 例如 如果我在终端中按住 a 键 则在重复输入 a 之前会有短暂的延迟 我希望能够知道它是否是从实际按下的位置按下的 在终端中如何暂时将此
  • opengles 在 iPhone 中显示人脸

    我需要将人类 2D 脸部制作为 3D 脸部 我用了这个链接加载 obj 文件并映射纹理 此示例仅适用于立方体和金字塔 我加载了人脸 obj 文件 This loads the obj file and can get the human f