使用VBO或着色器渲染BSP?OpenGL

使用VBO或着色器渲染BSP?OpenGL,opengl,render,vbo,Opengl,Render,Vbo,是否可以从着色器中渲染游戏中的BSP文件?是否可以在着色器中使用VBO,或者是否需要在客户端对其进行渲染 同样对于VBOs,从当前PV和平截头体创建一组可见面,然后通过匹配纹理进行批量渲染是否有意义?着色器无法直接引发渲染。它不能导致OpenGL渲染某些数据。着色器是渲染管道的一部分,该管道是单向的;不允许循环 在基于GL 4.x的硬件中,着色器理论上可以以特定格式写入数据,该格式将通过“间接”渲染函数之一读取。但是客户机代码,即CPU,仍然必须实际发出绘图命令 用像OpenCL这样的计算语言来

是否可以从着色器中渲染游戏中的BSP文件?是否可以在着色器中使用VBO,或者是否需要在客户端对其进行渲染

同样对于VBOs,从当前PV和平截头体创建一组可见面,然后通过匹配纹理进行批量渲染是否有意义?

着色器无法直接引发渲染。它不能导致OpenGL渲染某些数据。着色器是渲染管道的一部分,该管道是单向的;不允许循环

在基于GL 4.x的硬件中,着色器理论上可以以特定格式写入数据,该格式将通过“间接”渲染函数之一读取。但是客户机代码,即CPU,仍然必须实际发出绘图命令

用像OpenCL这样的计算语言来处理可见性可能更好。OpenGL着色器能够做到这一点,但它们的设计并不是很好,无法让实现这一点变得直观。OpenCL是一个通用的计算系统,它被设计用来做这类事情

是否可以从着色器中渲染游戏中的BSP文件

有了大量PITA,在OpenGL-4类系统上就可能实现。但是,为什么?一旦你开始朝那个方向思考,你就在做一些根本错误的事情。我敢打赌,在当前的GPU上,这样一个纯粹基于着色器的BSP渲染器实际上比一个10年前的GeForce2和编写良好的客户端代码要好

记住,伙计们:在着色器中做事情=/=高性能


OpenGL从来都不是,也永远不会是一个独立的渲染引擎。它一直被用作自定义编写的渲染器的后端光栅化器API。

迂腐的说明:OpenGL中没有“VBO”这样的东西。只有缓冲区对象可用于存储顶点数据。或统一块。或者其他各种各样的事情。