我正在使用附加的FBO和貼圖進行「渲染到紋理」功能。glsl更新2D紋理的特定行
我的問題是,在片段着色器中,我不知道如何寫入特定的2D紋理行。我確實有哪些行的信息(用統一的浮點變量表示),但我不知道如何在那裏繪製。
這可能嗎?或者什麼是知道片段着色器在哪裏的好方法?
我的全局想法是從一個頂點到底部將一維紋理演變爲二維紋理。每個進化步驟都是通過片段着色器(使用紋理乒乓方法,使用2個FBO)來計算的。
我正在使用附加的FBO和貼圖進行「渲染到紋理」功能。glsl更新2D紋理的特定行
我的問題是,在片段着色器中,我不知道如何寫入特定的2D紋理行。我確實有哪些行的信息(用統一的浮點變量表示),但我不知道如何在那裏繪製。
這可能嗎?或者什麼是知道片段着色器在哪裏的好方法?
我的全局想法是從一個頂點到底部將一維紋理演變爲二維紋理。每個進化步驟都是通過片段着色器(使用紋理乒乓方法,使用2個FBO)來計算的。
你可以在片段着色器中使用discard;
來丟棄你不想要的片段。類似於
if (gl_FragCoord.y != row_to_keep)
discard;
然後正常渲染你的場景,最後你只會輸出一行輸出。
我認爲片段着色器不是這個地方。
如果您只想寫入FBO的單行,您不能將繪圖調用的頂點設置爲僅與要繪製的像素重疊?
gl_FragCoord.y正是我所需要的,謝謝 – labotsirc