2012-10-03 61 views
1

我在寫遊戲。現在有水的渲染。我有一個多邊形: enter image description here多邊形着色器

所有的場景都渲染成一個紋理,當水的隊列到來時,我想將一個複雜的多邊形傳遞給着色器。例如,在屏幕上,多邊形是紅色的水面和藍色邊框。如何將着色器僅傳遞到該多邊形內的區域?例如,我想將多邊形內的所有內容填充爲紅色。

回答

2

根據你在做什麼,它可能會更好地將多邊形渲染到紋理本身,並有你的着色器樣本。如果多邊形的尺寸可預測,則可以使用大致具有這些尺寸的紋理,並將該幀在場景中的位置也傳遞給着色器。

+0

所以,想法是用一種顏色填充polygin,將該紋理傳遞給着色器。除了填充多邊形的部分以外,所有區域都是透明的。在着色器中,我只需要檢查當前像素是否不透明。而已? – Ockonal

+0

這可以工作。爲了記憶的緣故,您可能需要紋理爲黑白(或灰度)。您可能還想研究一下模版印刷,以便輕鬆地將您的「水」形與您的......任何水中浮動形狀相交。 –