opengl-es相关内容

移动设备(平板电脑)的可视化工具

我有一个在平板电脑上可视化一些数据的项目.我可能会使用 android 来开发应用程序,但我不知道如何可视化实时数据? android 上有哪些工具可用于执行此操作?我注意到我可以使用 OpenGL ES,但我对此一无所知,这对我来说相当复杂.有没有其他简单的工具可以获取实时数据并将其可视化? 我们有一个基本的 Matlab/Simulink 可视化,但需要更好的可视化. 有什么 ..
发布时间:2022-01-09 09:32:19 移动开发

SurfaceTexture.OnFrameAvailableListener 停止被调用

我正在我的应用程序中实现 SurfaceTexture.OnFrameAvailableListener 接口,因此我可以将视频帧用作 OpenGL 纹理.一切都按原样进行设置,并且运行良好,但是 onFrameAvailable(SurfaceTexture surfaceTexture) 在几秒钟后停止被调用,实际上并且似乎冻结了 OpenGL 中的视频,因为没有通过 SurfaceTextu ..
发布时间:2022-01-09 09:32:12 移动开发

混合 Android 视图和 GLSurfaceView

我目前正在开发一款游戏,我不想在进行到一半时发现我正在做的事情会导致错误/扼杀性能.这就是我正在考虑的设置方式. 首先想要一个带有一个包含 HUD 的 LinearLayout 的 LinearLayout,然后是一个 GLSurfaceView.但是我可能会在某些时候“暂停"游戏视图并切换到包含库存或装备等的不同线性布局. 我认为这种方式最好,因为我可以利用 android 自带的所 ..
发布时间:2022-01-09 09:31:48 Java开发

使用 OpenGL 代替 Canvas - Android

我正在尝试用更快的 opengl-es 表面替换我已经拥有的基于 Canvas 的渲染系统,但是,我似乎无法让 openGL 渲染器以充当 2d 字段的方式符合要求,而不是透视图. 我当前的渲染器代码如下: @Override公共无效 onSurfaceChanged(GL10 gl,int 宽度,int 高度){gl.glViewport(0, 0, 宽度, 高度);gl.glMatr ..
发布时间:2022-01-09 09:31:42 Java开发

在 Open ES iPhone 应用程序中在 VBO 周围使用 VAO 导致调用 glDrawElements 时出现 EXC_BAD_ACCESS

我正在尝试将我的代码提升到一个新的水平.遵循 Apple 的一些最佳实践,我正在尝试围绕我的顶点缓冲区对象 (VBO) 实现顶点数组对象.我这样设置我的 VBO 和 VAO: - (void)setupVBOs {glBindBuffer(GL_ARRAY_BUFFER, 0);glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);glBindVertexArrayO ..
发布时间:2022-01-09 09:31:34 移动开发

布局内的 OpenGL 视图

如何设置包含 OpenGL 视图的 xml 布局?正如我现在所做的那样,使用 setContentView() 将 OpenGL 视图设置为唯一的视图.但我想创建一个包含 OpenGL 视图的 xml 布局.假设我想主要有 OpenGL 视图,底部有一个小的 TextView. 这甚至可能吗?或者 OpenGL 视图只能是唯一的视图吗? 解决方案 你可以看看 SurfaceView. ..
发布时间:2022-01-09 09:31:29 移动开发

在Android上将int数组转换为位图

我有一个表示颜色的 MxN 整数数组(比如 RGBA 格式,但很容易更改).我想将它们转换为可以渲染到屏幕的 MxN 位图或其他东西(例如 OpenGL 纹理).有没有快速的方法来做到这一点?循环遍历数组并将它们绘制到画布上太慢了. 解决方案 试试这个,它会给你位图: //你正在使用 RGBA 这就是为什么 Config 是 ARGB.8888位图 = Bitmap.createBitm ..
发布时间:2022-01-09 09:31:23 Java开发

为什么 UIScrollView 会暂停我的 CADisplayLink?

我有一个由 CAEAGLLayer 支持的视图,它位于 UIScrollView 内.当我开始滚动时,调用 openGL 视图的 -draw 方法的 CADisplayLink 停止被调用. 我确认滚动时不会调用我的 runloop 启动/停止方法.-draw 方法不会在滚动开始时立即被调用,而是在滚动结束时继续被调用. UIKit 是否会在滚动开始时阻止 CADisplayLink ..
发布时间:2022-01-09 09:31:09 移动开发

顶点数组对象 (VAO) 可以在 OpenGL ES 中跨 EAGLContext 共享吗?

剧透:我相当确信答案是 NO,但这只是在经过一天非常沮丧的调试之后.现在我想知道情况是否确实如此(如果是,我可能怎么知道),或者我只是做错了什么. 情况是这样的.我正在使用 OpenGL ES 2.0 来渲染从各种文件(.obj、.md2 等)加载的一些网格.为了性能和用户体验,我将这些网格及其相关纹理的实际加载委托给使用 GCD 的后台线程. 根据 Apple 的 instructi ..
发布时间:2022-01-09 09:31:01 移动开发

glDeleteBuffers 比 glBufferData 慢

我在我的 iOS/Android 游戏中遇到了一些性能问题,其中几个 VBO 必须不时更新.在对我的游戏进行分析后,结果表明 glDeleteBuffers() 每次 VBO 更新最多需要 7 毫秒.当帧通常只需要 4 毫秒来渲染时,这当然会导致打嗝. 这是我更新 VBO 的部分: Chunk* 块;pthread_join(constructionThread, (void**)&chu ..
发布时间:2022-01-09 09:30:45 C/C++开发

iPad2 上的 CVOpenGLESTextureCacheCreateTextureFromImage 太慢了,需要将近 30 毫秒,太疯狂了

我使用 opengl es 在 iPad 上显示 bgr24 数据,我是 opengl es 的新手,所以在显示视频部分我使用来自 RosyWriter 的代码一个 APPLE 示例.它可以工作,但 CVOpenGLESTextureCacheCreateTextureFromImage 函数花费超过 30 毫秒,而在 RosyWriter它的成本可以忽略不计.我所做的是首先将 BGR24 转换为 ..
发布时间:2022-01-09 09:30:28 移动开发

WebGL:如何将值绑定到 mat4 属性?

在一些 WebGL 应用程序中,假设我们有一个 GLSL 顶点着色器,它的开头是这样的: 属性 vec4 foo1;属性 vec4 foo2;属性 vec4 foo3;属性 vec4 foo4; 以及一些用于为这些属性绑定数据结构的相应 Javascript 代码: var buf = gl.createBuffer(), loc;gl.bindBuffer(gl.ARRAY_BUFFER, ..
发布时间:2022-01-09 09:30:18 前端开发

opengles在iphone中显示人脸

我需要将人的 2D 人脸转换为 3D 人脸.我使用 this link 加载“.obj"文件并映射纹理.此示例仅适用于立方体和金字塔.我加载了一个人脸“.obj"文件. 这会加载 .obj 文件并可以正确获取人脸,如下所示. 但我的问题是我需要在不更改“.obj"文件的情况下显示不同的人脸.只是通过纹理映射. 但是纹理没有正确映射,因为 obj 文件的模型不同.我只是尝试更改用作 ..
发布时间:2022-01-09 09:30:10 移动开发

在 ipad 上使用 opengl es 在 1 帧中最多可以绘制多少个三角形?

ipad 上单帧最多可以绘制多少个三角形.另外,用于绘制这些三角形的 gl 调用的数量是否有限制? 解决方案 您在 iPad 上遇到的总三角形的唯一限制是内存大小以及您希望它以多快的速度呈现.您发送的顶点越多,您的应用程序将使用的内存越多,渲染速度就越慢. 例如,在我的基准测试中,我能够在 iPad 1 上使用 OpenGL ES 1.1 平滑着色、单个光源、存储在顶点缓冲区对象 ( ..
发布时间:2022-01-09 09:30:02 移动开发

(OpenGL ES)远离视图中心的对象被拉伸

所以我在 OpenGL ES 中生成了一个球体(特别是 OpenGL ES 2.0,在 Java 中,用于 Android).当这个球体放置在与我的视图矩阵使用的中心相同的位置时,这很好,但是当偏离中心时,球体会严重扭曲(见下文). 为什么会发生这种情况,我该如何阻止它? 那是同一个球体.右上角的那个只是在 x 和 y(不是 z)中翻译的. 我的 GLSurfaceView.re ..
发布时间:2022-01-09 09:29:52 移动开发

OpenGL纹理图集出血

我正在尝试从纹理图集中绘制一个由较小图块组成的基本 2d 地面网格(注意 1 像素透明边框): 我使用以下代码将图块渲染为纹理四边形: glEnable(GL_TEXTURE_2D);glBindTexture(GL_TEXTURE_2D, m_texture);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR) ..
发布时间:2022-01-09 09:29:43 移动开发

如何检测 iPhone 上的最大纹理分辨率?

我正在制作一个通用的基于 openGL 的应用程序,它应该可以在 ipod/iphone 2G/3G/3GS/4 和 iPad 上运行. 为了提供最好的图形,我需要根据运行它的设备在不同的纹理分辨率之间切换. 例如,iPhone 2G 需要不大于 1024x1024 的纹理,而 iPhone 3GS 可以处理更大的纹理. 所以,在 iPhone 3GS 上,我想加载一个 2048 ..
发布时间:2022-01-09 09:29:35 移动开发

如何实现 Google Play 图书中使用的页面卷曲类型?

我一直在寻找一种合适的方法来模拟 iOS 应用中使用的翻页/卷曲类型,但在 Android 应用中.我在 Android 上看到的最接近的东西是 Google Play Books 应用程序.他们是否使用了我没见过的 SDK 的某些部分?有没有机会得到类似的实现? 我见过的大多数示例都是使用某种基于 OpenGL 的 RenderView 构建的.这可能会奏效,但我必须确保屏幕不会徒劳无功, ..
发布时间:2022-01-09 09:29:16 Java开发

顶点着色器中的纹理查找在 iPad 设备与 iPad 模拟器上的行为不同 - OpenGL ES 2.0

我有一个顶点着色器,我在其中进行纹理查找以确定 gl_Position.我将其用作 GPU 粒子模拟系统的一部分,其中粒子位置存储在纹理中. 似乎: vec4 textureValue = texture2D(dataTexture, vec2(1.0, 1.0)); 在模拟器上的行为与在 iPad 设备上的行为不同.在模拟器上,纹理查找成功(该位置的值是 0.5、0.5)并且我的粒子出现在 ..
发布时间:2022-01-09 09:29:09 移动开发