java - 如何将人脸存储在内存中

标签 java memory opengl-es 3d

我一直在试图解决这个问题,但找不到一种看起来合理的方法,而且似乎没有什么可以真正解释它,我可以找到无数关于如何进行建模以及如何处理面部的东西,但没有任何关于它们可以存储在内存中与谁一起工作的信息。我主要关注的是 obj,剩下的很简单,主要只是用数组来存储所有内容,但是对于面,我能想到的使用它们的唯一方法是存储对象中哪些顶点的详细信息,或者每次从文件中读取它们,但这肯定是正确的吗?对每张脸都使用一个对象似乎很疯狂,但我想不出任何其他方法! 即使只是一本可以看的书或任何能指引我正确方向的东西,因为一切似乎都跳过了这些东西。谢谢。

最佳答案

面通常由三个或更多顶点连接而成。这意味着您可以将每个面存储为其所组成的顶点(或顶点索引)列表。

f0: [v0 v1 v2]
f1: [v3 v4 v5] 
...

或者,如果每个面的顶点数量是预先确定的(我打赌这是常见的),您可以将其折叠成单个列表/vector/数组:

[/* face 1 */ v0 v1 v2 /* face 2 */ v3 v4 v5]

Wikipedia may convey it better than I do.

关于java - 如何将人脸存储在内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4463451/

相关文章:

java - Android 适配器传递 JSON 对象数据?

java - 如何显示我的日期?

Android:将 ZIP 解压到内存中并在 WebView 中显示其内容

java - 使用 Java EE 和 Tomcat 定位创建的文件

java - 强制执行 Maven 插件的生命周期先决条件?

string - 为什么 Haskell 在处理字符串时分配大量内存?

linux - do_mmap_pgoff 用于其他进程

android - OpenGL:渲染到纹理的尺寸大于屏幕尺寸和glViewport

java - 混合 Android View 和 GLSurfaceView

android - openGLES 中的触摸交互