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

时间:2012-02-05 03:22:12

标签: opengl render vbo

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

对于VBO而言,从当前的PVS和平截头体创建一个可见面数组是否有意义,然后通过匹配纹理分批渲染?

2 个答案:

答案 0 :(得分:2)

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

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

在OpenCL这样的计算语言中做可见性的东西可能更好。 OpenGL着色器是有能力的,但它们没有很好地设计成直观的。 OpenCL是一个通用的计算系统,它旨在实现这一目标。

答案 1 :(得分:0)

  

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

对于很多PITA,它可能适用于OpenGL-4类系统。但为什么?一旦你开始思考这个方向,你就会做一些根本错误的事情。而且我敢打赌,在当前的GPU上这样一款基于纯粹着色器的BSP渲染器实际上已经超过了10年前的GeForce2和编写良好的客户端代码。

记住伙计:在着色器中执行操作 = / = 高性能

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