草庐IT

ios - 具有变换反馈的实时 OpenGL ES 光线追踪\光线转换?

我们进行了核磁共振扫描,我们想进行iOS上OpenGL中的实时光线转换,以便从不同角度渲染表面而不对其进行多边形化。事实上我们只对渲染生成的深度图感兴趣。我在应用商店中看到了很多这样的例子,所以我确信它是可能的(例如ImageVis3d)。我们可以使用glTexImage3D来执行渲染吗?是否有在iOS中使用此功能的良好在线资源?更好的是有一个GitHub项目或类似的项目来演示glTexImage3D在iOS中的使用吗?现在假设2d或3d纹理存在于OpenGLES内存中,是否可以使用片段着色器写入同一内​​存,然后重新渲染它而不将其复制回CPU?我正在想象一个可以使用片段着色器使体积变

OpenGL ES 2通过输入事件旋转后翻译

我尝试在旋转后翻译对象。我用输入事件旋转对象,库存旋转的值并将其用于翻译。但是,对象转换为错误的旋转。我不明白为什么。这是我程序的伪代码:翻译:for(inti=0;i旋转:rotation=glm::rotate(glm::mat4(1.0f),valueOfRotation,glm::vec3(0,0,1));for(inti=0;i翻译后的旋转效果很好。请问吗?谢谢看答案好吧,我终于找到了解决方案。我使用GLM::分解来提取旋转并使用了旋转。但是我仍然不明白为什么glm::translate(glm::mat4(1.0f),newPosition.at(i))*glm::rotate(g

ios - OpenGL ES 2D 绘图性能评估

我遇到过Quartz/CoreGraphics极差的绘图性能。我不认为它在所有情况下都不好,但在我需要经常重画3000条短线的情况下,它表现得非常糟糕。由于(MVC的)Modal是固定的,我无法更改它吐出数据的方式(如果可以的话,我会听从建议,只绘制更改,因此不必每帧都重新绘制线条).因此,作为结论,我正在考虑为此目的使用opengl,并且我想请你们(有经验的)家伙在开始研究该主题之前评估使用opengl的效果如何,因为看起来困难得多比quartz。 最佳答案 您几乎肯定会看到OpenGL比Quartz的速度性能提升,但请记住,Qu

ios - 如何在 OpenGL es 应用程序中使用键盘

我有一个使用键盘的OpenGLES应用程序。触摸屏幕时,我可以在屏幕上弹出键盘。如果我是正确的,每次我按下一个键,-(BOOL)textField:(UITextField*)textFieldshouldChangeCharactersInRange:(NSRange)rangereplacementString:(NSString*)string应该被调用。但事实并非如此。该应用程序最初是一个纯OpenGLMac游戏,我正在尝试制作一个iOS版本,所以我没有使用Storyboard。如果可能的话,我更喜欢以编程方式完成所有事情。这是我的ViewController.h代码:#imp

ios - 有什么方法可以同步 Map Vector(OpenGL 层)和 UIKit?

假设您使用GMSMapView之上的UIImageView在屏幕中间固定了一个图钉。在流程中的某个时刻,我需要移除固定图钉并将其添加为map中的标记。可以通过将固定图钉hidden属性设置为true然后使用GMSMarker在map中心添加一个与UIImageView相同的资源。这是可行的,除了存在视觉故障,因为添加标记会触及OpenGL层,无论隐藏引脚是否使用UIKit。有没有办法同步这两个操作? 最佳答案 不是真的。参见thisquestion关于OpenGL-UIKit同步的讨论——结论是Apple可以访问私有(private

ios - 是否可以在不使用 LibGDX 的情况下从 RoboVM 访问 OpenGL ES?

是否可以从RoboVM不使用LibGDX访问iOS上的OpenGLES?如果有,有什么有用的引用资料吗?我唯一能找到的是2年前的这个super简单的演示:http://robovm.com/ios-opengles-in-java-on-robovm/但它除了glClearColor和glClear之外不提供任何功能。不过,AppleGLKit框架似乎已实现。我只是找不到所有实际的glWhatever(...)函数... 最佳答案 是的,这是可能的。为此,您需要两件事:1.访问OpenGLES函数(如glClear(...)等)和2

OpenGL ES 如何渲染 16bit 图像?

未经作者(微信ID:Byte-Flow)允许,禁止转载文章首发于公众号:字节流动最近有不少读者私信问OpenGLES如何处理16bit图像(P010)?然后我直接贴给他们一段在OpenGL环境下验证过的上传16bit图像数据的代码glTexImage2D(GL_TEXTURE_2D,0,GL_R16UI,width,height,0,GL_RED_INTEGER,GL_UNSIGNED_SHORT,data);看了下OpenGLES实际上也是支持这一套格式,但是我之前没有在GLES环境下运行验证过。

使用 GL_TEXTURE_2D 的 iOS YUV 420v 在 OpenGL 着色器中显示错误的颜色

目标:使用GL_TEXTURE_2D而不是CVOpenGLESTextureRef将YUV数据(格式为“420v”kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange)推送到着色器(为什么?因为我需要使用glTexSubImage2d来操作像素,而且我不能在目标为CVOpenGLESTextureGetTarget()时使用它,所以它没有效果。我必须使用GL_TEXTURE_2D)问题:我正在使用自定义视频合成器来操作AVPlayer视频。当我像Apple的AVCustomEdit示例代码一样使用CVOpenGLESTextureRef时,它使

ios - 没有 OpenGL 的 iOS 上的硬件加速缩放

我目前正在为一个跨平台程序编写iOS后端,该程序的平台独立引擎将其所有图形按RGBA顺序写入32位像素缓冲区。不使用字母字节。图形总是不透明的,所以我不需要alpha混合。在我的drawRect方法中绘制和缩放这些像素缓冲区到我的CGContextRef的最有效选项是什么?像素缓冲区通常只有320x240像素,需要缩放以完全填充我的View尺寸,例如在非RetinaiPad上为1024x768,在RetinaiPad上为2048x1536。这是一项大量工作,因此最好使用GPU来完成。但是,如何在不使用OpenGL的情况下强制iOS使用GPU进行绘制和缩放?我试过使用CGContextD

ios - OpenGL - 计算着色器 - iOS - 选项?

我正在尝试实现一种自定义算法,该算法在给定点周围的指定半径处获取一系列像素。因为我想潜在地对1080p图像中的每个像素运行此算法,所以我认为与GPU并行化是一个不错的选择。问题是我需要让它在iOS上运行。我遇到了一个名为GPUImage2的有用iOS库,它允许一堆预定义的功能,但我现在遇到了障碍.据我所知,我不能在iOS中使用计算着色器?是我切换到使用Metal的唯一选择吗?我知道android支持ES3.1,但iOS没有这样的选项吗?我想我的另一个问题是;在这里使用计算着色器是正确的选择吗?我的想法是将一系列点分成线程组,然后让每个线程迭代半径点并执行计算,这样我就可以计算所有同时组