标签: opengl-es

EAGL:它究竟代表什么?

我忘记了,但EAGL是否代表任何特定的东西?或者它只是Core Animation OpenGL命名约定(CAEAGLLayer等)的一部分?

iphone opengl-es

17
推荐指数
1
解决办法
7363
查看次数

关于Android中高性能绘图的提示

背景

我正在为一个Android应用程序编写一个图形库(是的,我知道有很多,但没有提供我们需要的可定制性).

我希望图表可以缩放和平移.

问题

我希望体验顺畅,留下小巧的CPU占用空间.

解决方案

View.onDraw():

优点

  • 一些易于实现的东西

缺点

  • 表现不好?(除非它使用OpenGL,是吗?)

位图:

优点

  • 真的很容易实现
  • 很好的表现;很好的绩效

缺点

  • 必须使用丑陋的缩放

OpenGL的:

优点

  • 可能性能很好,取决于我的实现

缺点

  • 更多工作要实施

最后的话

OpenGL可能是专业的解决方案,肯定会提供更多的灵活性,但它需要更多的工作(多少不清楚).

有一点在OpenGL中更容易实现平移/缩放,因为我可以操纵矩阵来使其正确,其余的应该更难,尽管我认为.

我不怕弄脏手,但我想知道在开始挖掘之前我正朝着正确的方向前进.

我错过了任何解决方案吗?我所有的解决方案都理智吗?


补充说明:

我可以补充一点,当图形发生变化时,我希望对变化进行动画处理,这可能是最苛刻的任务.

performance android drawing rendering opengl-es

17
推荐指数
1
解决办法
3365
查看次数

Photoshop混合模式到没有着色器的OpenGL ES

我需要在我的OpenGL ES 1.1代码中模仿Photoshop混合模式("乘法","屏幕"等)(没有着色器).

有一些关于如何使用 HLSL 执行此操作的文档:

我至少需要工作屏幕模式.

我可能会看到固定管道上的任何实现吗?

photoshop opengl-es

16
推荐指数
2
解决办法
2万
查看次数

在iPhone上录制自定义叠加层

我有兴趣录制带有自定义叠加层的视频,最终会出现在视频中.它们可能是UIImage甚至更好,一个OpenGL视口,现在在任何iPhone设备/ SDK上都有这样的可能吗?

谢谢

iphone video opengl-es objective-c ios

16
推荐指数
1
解决办法
4027
查看次数

iOS上的GL_TRIANGLES或GL_TRIANGLE_STRIP?

本文档(Apple的OpenGL iOS文档)中,Apple建议在iOS上的OpenGL ES中使用三角形条带(索引)三角形:

为了获得最佳性能,您的模型应使用glDrawArrays作为单个无索引三角形条提交,并尽可能少复制顶点.

然而,Imagination Technologies公司(该公司在iOS设备中使用的图形芯片的创造者)提出的另一种方式圆这个文件(POWERVR 3D应用开发建议书).他们专门写在第11页:

使用索引三角形列表比使用条带更有效.

我的问题:谁是对的?或者我误解了这两个文件?

iphone opengl-es ipad ios

16
推荐指数
1
解决办法
4406
查看次数

iPhone/iOS自定义控件

我想知道如何从头开始创建自定义iPhone控件,或使用现有的库或框架.

我已经看过three20库,以及tapku和触摸习俗,这对于专业的iOS控件很好,如表视图等,但我在谈论在这里制作完全自定义的交互式控件.

让我们说我想制作一个类似于这个应用程序的拨号控件:http://store.apple.com/us/product/H2654LL/A.

我从哪里开始?

  • 我会将UIView子类化并自定义吗?
  • 我会用石英2d吗?
  • 我会使用OpenGL ES在屏幕上绘制这样的东西吗?
  • 我还可以使用IB来设计/布局我的自定义视图吗?

我只是有点困惑哪条路走到这里.

是的 - 此问题之前已经被问过并回答了几次,但我还没有找到一个满意的答案来解决上述问题.

iphone opengl-es custom-controls ios

16
推荐指数
1
解决办法
6965
查看次数

AVFoundation:视频到OpenGL纹理工作 - 如何播放和同步音频?

我已经设法将一帧电影的视频轨道加载到带AVFoundation的OpenGL纹理中.我按照答案中描述的步骤进行操作:iOS4:如何将视频文件用作OpenGL纹理? 并从WWDC2010的GLVideoFrame示例中获取了一些代码,可以在此处下载:http://bit.ly/cEf0rM

如何与视频同步播放电影的音轨.我认为在单独的播放器中播放它并不是一个好主意,而是使用相同的音频轨道OpenGL.

AVAssetTrack* audioTrack = [[asset tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)

我检索了一个videoframe,它是CADisplayLink-callback中的时间戳

CMSampleBufferRef sampleBuffer = [self.readerOutput copyNextSampleBuffer];
CMTime timestamp = CMSampleBufferGetPresentationTimeStamp( sampleBuffer );
Run Code Online (Sandbox Code Playgroud)

哪里AVFoundation是类型GLVideoFrame

如何获得相应的音频样本?以及如何玩它们?


编辑:

我看了一下,我想,最好是使用WWDC2010AudioToolbox.framework使用此处描述的方法:AVAssetReader和Audio Queue流问题

AVFoundation中还有一个音频播放器:AVAsset.但我不知道我应该如何将数据传递给它所readerOutput期望的-initializer AVAssetReaderTrackOutput*.此外,我不认为这是我的最佳选择,因为我AudioQueue必须为每个新的音频样本创建一个新的实例,据我所知.

还有其他建议吗?播放原始音频样本的最佳方式是AudioToolbox.framework什么?

opengl-es avfoundation avaudioplayer ios4 ios

16
推荐指数
1
解决办法
7512
查看次数

OpenGL,在绘制调用后是否值得明确取消绑定?

在给定的绘图调用中解除使用glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0)和/或glBindBuffer(GL_ARRAY_BUFFER, 0)结束时,对我来说似乎更清晰.我喜欢确定什么都不应该是不应该的; 但是,这有很大的性能影响吗?

有人会认为这样做是"干净"的方式吗?或者我应该沿着快速而漫长的路线走下去?

(是的,我知道绑定的缓冲区对象将被下一个要绑定在该目标上的缓冲区对象替换 - 无论是在这个还是下一个渲染更新中.是的,我可以进行性能测试.但是快速的人类反应会很好.)

opengl-es vbo opengl-es-2.0

16
推荐指数
1
解决办法
5585
查看次数

OpenGL - 为什么GL_ELEMENT_ARRAY_BUFFER用于索引?

我目前是OpenGL ES 2.0领域的新手,我想尽可能多地了解绑定,缓冲区,着色器等.

截至目前,我只是想了解之间的差异GL_ELEMENT_ARRAY_BUFFERGL_ARRAY_BUFFER以及何时使用每个指出预设.

我目前的理解使我相信这GL_ELEMENT_ARRAY_BUFFER是专门针对所述三角形的指数,而另一个是针对其他一切的指数.

有人可以详细说明为什么以及这是否正确?如何GL_ELEMENT_ARRAY_BUFFER不同的处理方式?

opengl opengl-es

16
推荐指数
2
解决办法
1万
查看次数

GLES10.glGetIntegerv仅在Lollipop中返回0

这段代码曾用于我的Nexus 7 2012 KitKat:

int[] maxSize = new int[1];
GLES10.glGetIntegerv(GL10.GL_MAX_TEXTURE_SIZE, maxSize, 0);
Run Code Online (Sandbox Code Playgroud)

在KitKat中我可以正确获取最大像素值,但在升级到工厂映像Lollipop后,这段代码会导致问题,因为它只返回0.当达到此方法时,logcat显示此输出:

E/libEGL? call to OpenGL ES API with no current context (logged once per thread)
Run Code Online (Sandbox Code Playgroud)

我已经android:hardwareAccelerated="true"在我的Manifest.xml中了.是否有任何我不知道的API更改,导致上述代码无法使用?请指教.

android opengl-es android-5.0-lollipop

16
推荐指数
1
解决办法
8111
查看次数