OStack程序员社区-中国程序员成长平台

标题: ios - 带有变换反馈的 iOS 上的实时 OpenGL ES 光线跟踪\光线转换? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 17:51
标题: ios - 带有变换反馈的 iOS 上的实时 OpenGL ES 光线跟踪\光线转换?

我们进行了 MRI 扫描,我们希望执行 iOS 上的 OpenGL 中的实时光线转换,以便从不同的角度渲染表面而不对其进行多边形化。其实我们只对渲染生成的深度图感兴趣。

我在应用商店中看到了很多这样的例子,所以我确信它是可能的(例如 ImageVis3d)。 我们可以使用 glTexImage3D 进行渲染吗?有没有很好的在线资源可以在 iOS 中使用这个功能?更好的是,有 GitHub 项目或类似的项目来演示在 iOS 中使用 glTexImage3D 吗?

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



Best Answer-推荐答案


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

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

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

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

关于ios - 带有变换反馈的 iOS 上的实时 OpenGL ES 光线跟踪\光线转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20920526/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4