-1
所以,我試圖修改一個精靈的特定像素。目前我通過創建自己的SetPixel(int x, int y, Color color)
函數來實現它。它通過修改紋理的信息(RGBA值)並將其傳遞給精靈來工作。但是這很慢:具有片段着色器的OpenGL SetPixel
1)使用CPU而不是GPU在哪裏(我希望)我可以使用着色器來提高我的性能。
2)我每次修改單個像素時都必須重新上傳修改後的紋理。
這個問題對我很重要。如何使用着色器來修改特定的像素?我只能修改每個頂點的顏色,這不是我想要的。
有什麼建議嗎?
片段着色器修改幀緩衝區中的所有像素(當您調用drawElements或drawArrays時),而不僅僅是一個像素。如果新的顏色值在CPU程序中,您可以將其上傳到GPU紋理,或將其設置爲片段着色器中的常量變量。 –
你確定你不想一次修改多個像素嗎?上傳1個像素到GPU上傳1000000像素同樣複雜。 –
建議:刪除你的'SetPixel'函數並找出如何去做你沒有它的工作。 – ybungalobill