我们进行了 MRI 扫描,我们希望执行 iOS 上的 OpenGL 中的实时光线转换,以便从不同的角度渲染表面而不对其进行多边形化。其实我们只对渲染生成的深度图感兴趣。
我在应用商店中看到了很多这样的例子,所以我确信它是可能的(例如 ImageVis3d)。 我们可以使用 glTexImage3D 进行渲染吗?有没有很好的在线资源可以在 iOS 中使用这个功能?更好的是,有 GitHub 项目或类似的项目来演示在 iOS 中使用 glTexImage3D 吗?
现在假设 OpenGL ES 内存中存在 2d 或 3d 纹理,是否可以使用片段着色器写入相同的内存,然后重新渲染它而不将其复制回 CPU?我正在想象一个可以使用片段着色器使体积变形的雕刻场景。
我不确定您所说的“我们可以使用 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 |