2013-08-28 69 views
0

我正在創建一個繪圖iOS應用程序,並且需要平滑用戶繪製的線條。 我正在使用多重採樣。Multisampling for drawing app

對於每個用戶移動其手指時,代碼是這樣的:

  1. 創建點使一個線,然後繪製這些點的取樣緩衝器中。
  2. 解決採樣緩衝區問題。
  3. 結果緩衝區被繪製到畫布。

問題是,當用戶有一個大的畫布(例如:2048x2048),解決過程需要相當長的時間,它導致繪圖滯後/不連貫。無論是否需要解析像素,解析過程都會解析緩衝區中的所有像素。

我看到了一個像Procreate這樣的繪圖應用程序,即使對於一個大畫布,它也可以平滑地繪製,沒有任何延遲。

所以,這是可能的,我只是不知道該怎麼做。

有沒有人有解決方案的想法?

謝謝。

回答

0

萬一有人有同樣的問題,我找到了一個體面的解決方案:

  1. 只是爲了吸引來自最後一個點線到當前點的目的,創建一個較小的採樣FBO。我使用一個256x256緩衝區。
  2. 從最後一點繪製到當前點時,使用此採樣緩衝區,然後解析。
  3. 將此採樣緩衝區繪製到當前圖層。

結果並不差,沒有更多的滯後。唯一的問題是設置適當的變換,矩陣等是非常困難的。