iOS 上的实时 OpenGL ES 光线跟踪光线投射,具有变换反馈



我们有核磁共振扫描,我们想执行在 iOS 上的 OpenGL 中进行实时光线投射,以便从不同角度渲染表面而不对其进行多边形化。事实上,我们只对渲染生成的深度图感兴趣。

我在应用商店中看到了很多这样的例子,所以我确信这是可能的(例如。图像Vis3d)。我们可以使用 glTexImage3D 来执行渲染吗?是否有在iOS中使用此功能的良好在线资源?更好的是,是否有一个GitHub项目或类似的东西来演示在iOS中使用glTexImage3D?

现在假设 OpenGL ES 内存中存在 2D 或 3D 纹理,是否可以使用片段着色器写入同一内存,然后重新渲染它而不将其复制回 CPU?我想象一个可以使用片段着色器使体积变形的雕刻场景。

我不确定你说的"我们可以使用 glTexImage3D 来执行渲染吗?glTexImage3D 用于将 3D 纹理数据加载到纹理缓冲区对象。您不能在着色器中读取和写入同一内存(这会产生锁定问题)。但是,您可以做的是双倍缓冲:

从纹理 1 读取并写入纹理 2,

在下一帧之前交换纹理的绑定,以便从纹理 2 读取并写入纹理 1。

澄清一下:如果你想在片段着色器中执行你的写作操作(这意味着你想为投影基元的每个片段写一个值),那么你将使用FBO渲染到纹理(听起来这就是你要找的)。

但是,如果您只想为每个顶点写入值,即捕获顶点着色器的输出值,那么您可以使用转换反馈。

最新更新