opengl-es相关内容
是否可以在不同的 GLSurfaceView 之间(在一个 Activity 内)共享 GLES20 上下文?或者,如何在不同的 GLSurfaceView 之间共享一组纹理? 在 iOS 上,如果您想在不同的 CAEAGLLayer 支持的 UIViews 中节省内存并重用(大)纹理,您可以在它们之间传递一个 EAGLContext 对象,或者使用共享一个公共 EAGLSharegroup
..
尝试使用 Android NDK 编译 C++ 代码,但这些错误不会消失 对 glBindVertexArrayOES 的未定义引用对 glGenVertexArraysOES 的未定义引用对 glDeleteVertexArraysOES 的未定义引用 在.mk文件中写了 LOCAL_LDLIBS := -lGLESv1_CM -ldl -llog -lz -landroid -lEGL
..
我正在开发一个基于 GLPaint 代码的绘图应用程序.有人知道如何获得这样的效果吗?我已经尝试为画笔的宽度和高度使用不同的值,但它仍然保持不变. 我需要考虑 glBlendFunc() 吗?或者是否可以通过改变画笔的宽度和高度来实现. 提前致谢. 解决方案 实现这种效果的最简单方法是将 alpha 从 1.0 降低到 0.7.
..
我正在尝试查找如何为 OpenGL ES 1.x(特别是 iPhone)实现简单着色器的示例.我以前从未使用过着色器,但我确实了解它们的用途.我认为一旦我能够在模拟器中加载一个简单的着色器,我就可以从那里获取它并做我需要做的事情.谢谢您的帮助,~埃里克 解决方案 iPhone目前使用OpenGL ES 1.1 不支持可编程管道.不过,OpenGL ES 2.0 似乎确实有它们,并且与 1.
..
我制作了一个包含 4 个三角形的三角形列表,中间点的颜色不同.然后旨在组合三角形以获得漂亮的渐变.但是三角形的边缘会产生不需要的线条,我不希望这些线条一直平滑.我怎样才能得到想要的结果? 图片: 着色器代码: //简单的直通顶点着色器//属性 vec3 in_Position;//(x,y,z)属性 vec4 in_Colour;//(r,g,b,a)属性 vec2 in_Textu
..
问题的上下文是 Android 环境中的 OpenGL ES 2.0.我有质感.显示或使用它没有问题. 有没有一种方法可以从它的绑定id开始知道它的宽度和高度以及其他信息(如内部格式)? 我需要在不知道纹理大小的情况下将纹理保存到位图. 解决方案 不在 ES 2.0 中.功能不存在实际上有点令人惊讶.可以获取渲染缓冲区的大小,但不能获取纹理的大小,这似乎不一致. 唯一可用
..
我是openGL和android开发的新手,所以如果我的问题很琐碎,请原谅我. 我正在尝试构建一个简单的小应用程序,该应用程序在三个 EditTexts 中接受用户的输入,表示要在 GLSurfaceView 中显示的 RGB 颜色的每个组件的 0 - 100% 值. 问题是我需要它来使用 openGL ES 2.0,并且我需要使用统一的值将数据传递到着色程序中,这样一旦我开始工作,我
..
有谁知道如何在 HTC Desire 上启用 OpenGL (android) 中的混合.我正在尝试绘制彩色三角形并使用颜色缓冲区的 alpha 值将它们与背景(或另一个三角形)混合. 它适用于模拟器 (2.1) 和 htc hero 2.1,但不适用于我对 2.2 的渴望.英雄和导致这种情况的欲望之间是否存在一些硬件差异? 代码中的主要内容是(不按顺序): gl.glClear(G
..
我从 Grafika 开始了一个项目并对其进行了修改.我有一个框架(与原始框架没有太大区别),它从 Camera 捕获预览,并以不同的分辨率同时将其连续编码为视频. MediaCodec(用于编码)被配置为使用 COLOR_FormatSurface 以便我们能够渲染到使用 getInputSurface() 使用 GLES. 媒体格式设置为MIME类型video/avc 对于大
..
我不明白 OpenGL 中绑定点(例如 GL_ARRAY_BUFFER)的目的是什么.据我了解, glGenBuffers() 创建了一种指向位于 GPU 内存中某处的顶点缓冲区对象的指针. 所以: glGenBuffers(1, &bufferID) 意味着我现在有一个句柄,bufferID,指向显卡上的 1 个顶点对象.现在我知道下一步是将 bufferID 绑定到绑定点 glBi
..
Apple 表示使用 OpenGL ES 构建的应用将继续在 iOS 12 中运行,但在 iOS 12 中已弃用 Open GL ES.以前使用 OpenGL ES 的游戏和图形密集型应用现在应该采用 Metal. 但我不想将我的应用程序从 OpenGL 迁移到 Metal,因为它与 Android 的代码相同,我不想创建两个单独的分支,所以我可以做些什么来在未来的 iOS 版本中继续使用
..
我一直在 glbenchmark.com 中搜索屏幕尺寸(宽度或高度)大于GL_MAX_TEXTURE_SIZE.我发现了一百多台设备的 GL_MAX_VIEWPORT_WIDTH 和 GL_MAX_VIEWPORT_HEIGHT 大于 GL_MAX_TEXTURE_SIZE(例如 Acer A110),但没有设备的屏幕尺寸大于 GL_MAX_TEXTURE_SIZE.所以我假设没有这样的设备.
..
我正在尝试测量加载 webgl 中的图像所需的时间. 我正在考虑使用 gl.finish() 来获取图像加载前后的时间戳,然后将两者相减以获得准确的测量结果,但是我找不到这种用法的好例子. 这种事情可能吗,如果可以,有人可以提供示例代码吗? 解决方案 不是的. 其实在 Chrome 中 gl.finish 只是一个 gl.flush.查看代码并搜索“::结束". 因
..
我收到“kCGImageAlphaPremultipliedLast"的未解决标识符错误.斯威夫特找不到它.这在 Swift 中可用吗? var gc = CGBitmapContextCreate(&pixelData, width: width, height: height, bitsPerComponent: 8, bytesPerRow: width*4, imageCS, bitma
..
我已经分别从视频帧中提取YUV数据并保存在data[0],data[1],data[2];帧大小为640*480;现在我创建 pixelBuffer 如下: void *pYUV[3] = {data[0], data[1], data[2]};size_t 平面宽度 = {640, 320, 320};size_t 平面高度 = {480, 240, 240};size_t planeByte
..
Apple 解决闪烁问题的技术问答 (QA1650) 包括以下段落.(强调我的.) 您必须为屏幕上的每个像素提供一种颜色.在绘图代码的开头,最好使用 glClear() 来初始化颜色缓冲区.在帧开始时全屏清除每个颜色、深度和模板缓冲区(如果您正在使用它们)通常也可以提高您的应用程序的性能. 在其他平台上,我一直发现它是一种优化,如果您要绘制到每个像素,不清除颜色缓冲区.(如果您只是要覆
..
简单地说,如果我有一个图像 I 和另一个图像 J,我想替换 I(t,s) 位置的 RGB 值) 并将该像素分配给 J(t,s).我如何在 Core Image 或使用自定义内核中做到这一点? 考虑到 Core Image 的工作方式,这似乎不是一件容易的事.但是,我想知道是否有一种方法可以提取 (t,s) 处的像素值,创建一个与 JK/code> 只用那个像素,然后只在那个点用 K 覆盖 J
..
是否可以使用 OpenGL 显示视频并能够在运行时调整视图大小? 解决方案 是的,它通过 glTexSubImage2D 将每一帧作为纹理上传.我已经对基于 FFmpeg 的解码器的输出进行了测试,效果很好.
..
..
我正在执行以下内容,这些内容来自几个不同的教程(只是一个渲染过程,未显示初始化代码,但适用于无纹理的基元): glMatrixMode(GL_PROJECTION);glLoadIdentity();glOrthof(0, xSize, 0, ySize, -1.0f, 1.0f);glMatrixMode(GL_MODELVIEW);glColor4f(1.0f, 1.0f, 1.0f, 1.
..