2016-05-29 75 views
0

我想修改我在計算着色器中看到的屏幕而不調用頂點/片段着色器。計算着色器將使用數據,並且我想知道如何從計算着色器中調用此數據。 那我該怎麼做呢?Open gl計算着色器和幀緩衝區

+0

僅供參考:如果您正在學習OpenGL,計算着色器可能不是開始的地方。 –

+0

我不是在學習opengl,目的是爲了學習opengl,我只是想學習opengl的特定部分,目的是解決我的問題 –

回答

4

計算着色器只能訪問圖像或緩衝區。 default framebuffer既不是;它是一個特殊的對象,你不能將它的圖像附加到任何東西上。

然而,您可以通過計算着色器創建紋理,將其綁定到use as an image,然後對其執行任何計算。然後你可以(在the appropriate glMemoryBarrier call之後)將該圖像渲染到默認幀緩衝區。

+0

好吧,所以我們不能訪問默認的framebuffer與計算着色器,希望有一些清晰的,謝謝您。您說計算着色器可以訪問緩衝區,只需提供函數名稱或提示,如何爲計算着色器創建緩衝區,如何使用客戶端數據加載緩衝區,如何在計算着色器中RW數據,以及最終如何你如何檢索客戶端的數據。 –

+0

@AndreMiville:這是一系列的問題,它們與你的原始問題無關。這是一個問答網站,而不是論壇。所以,如果你想要那些答案,你必須問他們作爲單獨的問題。 –

+0

我不能,我每週只限於一個問題。我一直受到限制,因爲我抱怨說我無法投票給出有用的答案(需要15個聲望點)(這個系統做的是* * * c * k))。但我想我可以回答這些問題。 –