2012-02-05 96 views
0

是否有可能從着色器內作出從遊戲BSP文件?是否有可能在着色器中使用VBO或是否需要渲染客戶端?渲染BSP與VBO或着色器? OpenGL的

也爲維也納組織是否有意義,從目前的PVS和視錐創建可視面的數組,然後通過匹配的紋理渲染,然後分批?

+0

迂腐記:有沒有這樣的東西在OpenGL一個「VBO」。只有緩衝區對象可以用來存儲頂點數據。或統一塊。或者其他各種各樣的東西。 – 2012-02-05 03:49:56

回答

2

着色器不能直接渲染。它不會導致OpenGL呈現某些數據。着色器是渲染流水線的一部分,並且該流水線是單向的;它不允許循環。

在GL基於4.x版的硬件,着色器理論上可以寫在將通過的「間接」的渲染功能之一來讀取特定格式的數據。但客戶端代碼CPU仍然必須實際發出繪圖命令。

它可能會更好做可視性的東西像OpenCL的一個計算的語言。 OpenGL着色器是有能力的,但是它們並沒有很好地設計來使這種直觀。 OpenCL是一個通用的計算系統,它被設計來做這種事情。

0

是否有可能從着色器內作出從遊戲BSP文件?

有了許多PITA,它可能在OpenGL-4類系統上。但爲什麼?一旦你開始朝這個方向思考,你正在做一些根本性錯誤的事情。而且我敢打賭,這樣的純着色器對當前基於GPU的渲染BSP實際上是由一個10歲的GeForce2跑贏和良好的書面客戶端代碼。

記住鄉親:着色器做事=/=高性能

的OpenGL從未有過,也永遠不會成爲一個獨立的渲染引擎。它一直意味着用於自定義編寫的渲染器的後端光柵器API。