opengl-es相关内容

在 iPhone 上渲染为非二次幂纹理

是否可以在 iPhone(2G 及更早版本)上使用 OpenGL ES 1.1 渲染到纹理?如果我将纹理绑定为渲染缓冲区,则它必须是渲染缓冲区的大小,而不是 POT 大小.但是 OpenGL ES 1.1 要求纹理是 POT. 也许在 ES 1.1 上做不到? 解决方案 虽然 OpenGL ES 1.1 不支持非二次幂纹理,但较新的 iOS 设备模型具有扩展名 GL_APPLE_te ..
发布时间:2021-12-03 11:15:52 移动开发

CADisplayLink OpenGL 渲染破坏了 UIScrollView 行为

SO 上有一些类似的问题(链接在最后),但没有一个允许我解决我的问题,所以这里是: 我正在使用 OpenGL 渲染来制作用于游戏项目的图像平铺和缓存库,并且我想劫持 UIScrollView 的物理特性以允许用户浏览图像(因为它具有很好的反弹行为,不妨用它).所以我有一个 UIScrollView,我用它来获取我的纹理的渲染视图,但是有一个问题 - 在滚动视图上移动会阻止 CADisplay ..
发布时间:2021-12-03 10:53:06 移动开发

如何在 iOS 中正确线性化 OpenGL ES 中的深度?

我正在尝试使用 OpenGL 为 iOS 应用程序渲染一个 forrest 场景.为了让它更好一点,我想在场景中实现深度效果.但是,我需要来自 OpenGL 深度缓冲区的线性化深度值才能这样做.目前我正在片段着色器中使用计算(我发现 ..
发布时间:2021-12-02 18:13:36 移动开发

像素空间中的 OpenGL 纹理坐标

我正在开发使用 OpenGL ES 2 进行绘图的 iPhone 应用程序.我知道通常纹理坐标定义在 0-1 范围内,但理想情况下,为了可读性,我想将它们映射到 0-1023(我的 TextureAtlas 的大小).我已经看到以这种方式定义坐标的示例代码,但无法确定之前进行的哪些调用允许这样做.glMatrixMode(GL_TEXTURE) 好像可能涉及到它,但我不太确定如何实现它. 我 ..
发布时间:2021-12-02 18:05:16 移动开发

iPhone OpenGL ES 2.0 中 glReadPixels 的更快替代方案

有没有比使用 glReadPixels 访问帧缓冲区更快的方法?我需要对帧缓冲区中的一个小的矩形渲染区域进行只读访问,以便在 CPU 中进一步处理数据.性能很重要,因为我必须重复执行此操作.我在网上搜索并找到了一些方法,例如使用 Pixel Buffer Object 和 glMapBuffer 但似乎 OpenGL ES 2.0 不支持它们. 解决方案 从 iOS 5.0 开始,现在可以 ..
发布时间:2021-12-01 17:51:11 移动开发

OpenGL - OBJ 中的顶点法线

我想知道如何将顶点法线用于闪电效果?目前我所拥有的是我可以将顶点和纹理坐标发送到着色器并使用它们,但是对于法线,我不知道如何在着色器程序中使用它们.以下是我目前所拥有的. //顶点着色器vec4 vert 中的布局(位置 = 0);vec4 颜色的布局(位置 = 1);vec2 texcoord 中的布局(位置 = 2);统一 mat4 m_model;统一 mat4 m_view;统一 mat ..
发布时间:2021-12-01 15:00:43 C/C++开发

3D CAD 到 OpenGL

我想知道是否有人知道可以对对象进行 3D 绘图,然后将其转换为所需的 OpenGL 点和法线的程序. 基本上我有一张 AutoCAD 绘图,我希望能够在我为 iPhone 创建的程序中显示它.有什么建议吗? 解决方案 如果您有 AutoCAD 本身,您可以将对象导出为网格格式,如 STL.读取 STL 文件很简单. 如果您没有 AutoCAD,您也可以尝试 FreeCAD,它基 ..
发布时间:2021-11-30 18:30:19 移动开发

如何在 Android 中使用带有 OpenGL ES 的 OpenCV 旋转和平移向量?

我正在 Android 上开发基本的增强现实应用程序.到目前为止我所做的是用 opencv 检测一个正方形,然后使用 cvFindExtrinsicCameraParams2() 我计算了一个旋转和平移向量.为此,我使用了 4 个对象点,它们只是 (0,0,0) 周围正方形的角和图像中正方形的 4 个角. 这产生了一个很好的旋转和平移矩阵.我还使用 cvRodrigues2() 计算了旋转矩 ..
发布时间:2021-11-30 17:02:34 移动开发

雪碧套件 &播放声音导致应用程序终止

使用 ARC 只是我遇到的一个问题-我有一个 SKScene,我在其中使用 SKAction 类方法播放声音效果 [SKAction playSoundFileNamed:@“sound.wav";等待完成:否]; 现在,当我尝试进入后台时,无论声音是否结束,显然 iOS 由于 gpus_ReturnNotPermittedKillClient 正在终止我的应用程序. 现在只有当我 ..
发布时间:2021-11-30 16:01:50 移动开发

如何避免 iOS OpenGL ES 应用程序自动旋转的瞬间拉伸

这最近一直困扰着我.将支持纵向和横向的 OpenGL ES 应用程序放在一起非常简单.但是在自动旋转过程中,系统似乎只是强制将渲染缓冲区拉伸到新尺寸一次,自动旋转,然后调用通常的 -layoutSubviews -> -resizeFromLayer: 等.因此可以将可绘制对象调整为新的视口尺寸. 我见过的大多数支持纵向和横向的应用程序似乎都满足于这种简单的方法.但我想知道我是否可以做得更好 ..
发布时间:2021-11-29 09:29:38 移动开发

在libGDX中如何处理不同的纵横比?

我已经使用 libGDX 实现了一些屏幕,这些屏幕显然会使用 libGDX 框架提供的 Screen 类.但是,这些屏幕的实现仅适用于预定义的屏幕尺寸.例如,如果精灵适用于 640 x 480 尺寸的屏幕(4:3 纵横比),它将无法在其他屏幕尺寸上按预期工作,因为精灵符合屏幕边界并且不会缩放到屏幕尺寸根本.此外,如果 libGDX 提供了简单的缩放,我面临的问题仍然存在,因为这会导致游戏屏幕的纵横 ..
发布时间:2021-11-29 09:25:54 移动开发

OpenCV、OpenGL 和 Android Sensor 之间参考坐标系的变化

我正在使用 OpenCV、Android 和 OpenGL 进行增强现实项目.据我所知,OpenGL 中的坐标系是 OpenCV 坐标系为: 将这些设备与 android 传感器结合使用时,如何进行坐标系转换和 [R|t] 矩阵转换?有没有很好的教程或文档来解释所有这些令人困惑的东西? 解决方案 如果你看图,那么你看到,两个坐标系有相同的handednes,但是OpenCV的一 ..
发布时间:2021-11-27 21:15:11 其他开发

没有 setZOrderonTop 的 Android GLSurfaceView 透明背景

对不起我的英语. 我的工作基于https://github.com/harism/android_page_curl/> 经过数小时的研究,我找到了一些解决方案,但并不是针对我在应用程序中遇到的所有问题.我在使用 GLSurfaceView 时遇到了一些麻烦.我有一个带有 relativeLayout、GLSurfaceView 和顶部叠加层的背景. ..
发布时间:2021-11-27 20:47:44 移动开发

使用 MediaCodec 记录表面

因此,在我的应用程序中,我能够使用 GPUImage 库. 基本上,我(库)将从摄像头获取输入,获取原始字节数据,将其从 YUV 格式转换为 RGBA 格式,然后对该图像应用效果并显示在 SurfaceGLSurfaceView 使用 OpenGL.最后,对于用户来说,它看起来就像一个应用了效果的视频. 现在我想使用 Surface 的帧记录为视频"nofollow noreferre ..
发布时间:2021-11-27 19:41:24 移动开发

如何从 MP4 中逐帧获取?(媒体编解码器)

实际上我正在使用 OpenGL,我想将我所有的纹理都放在 MP4 中以便压缩它们. 然后我需要从我的 Android 上的 MP4 获取它 我需要以某种方式解码 MP4 并根据请求逐帧获取. 我发现了这个MediaCodec https://developer.android.com/reference/android/media/MediaCodec 和这个 Med ..
发布时间:2021-11-27 19:40:23 移动开发

如何在Android中录制视频时嵌入文本?

我的目标是在 Android 中录制视频,并在录制时嵌入秒表. 我遵循了 Grafika 项目、CameraCaptureActivity.java 的示例使用 OpenGL 2.0 在录制视频的同时录制一个小块.他们使用以下代码在 OpenGL 2.0 中绘制块 private static void drawExtra(){GLES20.glClearColor(1.0f, 1.0f, ..
发布时间:2021-11-27 19:39:36 移动开发

将位图帧渲染到 Surface 进行编码

我的目标是接收一个 M4V 视频文件,将一段视频解码为 PNG 帧,修改这些帧,然后将修剪后的视频重新编码(也为 M4V). 工作流程是这样的:[Input Video] ->导出帧 ->修改框架 ->编码帧 ->[输出视频]. 对于解码过程,我一直在参考 bigflake 示例.使用 ExtractMpegFramesTest 示例代码,我能够生成 .m4v 文件中的 >Bitmap ..
发布时间:2021-11-27 19:38:42 移动开发

GLES10.glGetIntegerv 仅在 Lollipop 中返回 0

这段代码曾经在我的 Nexus 7 2012 KitKat 中工作: int[] maxSize = new int[1];GLES10.glGetIntegerv(GL10.GL_MAX_TEXTURE_SIZE, maxSize, 0); 在 KitKat 中,我可以正确获取最大像素值,但是在升级到工厂图像 Lollipop 后,这段代码会导致问题,因为它只返回 0.logcat 在到达此 ..
发布时间:2021-11-27 12:45:39 移动开发