簡體   English   中英

有沒有辦法在SpriteKit中繪制像素?

[英]Is there are way to draw a pixel in SpriteKit?

我試圖將光線跟蹤例程放在一起,並且單個光線中每個像素的寬度/陰影將在行的長度上變化。 SpriteKit中是否可以在屏幕上繪制單個像素? 還是應該使用UIImage做到這一點?

SpriteKit不是像素繪圖API。 它更像是“在屏幕上四處移動圖片” API。 不過,在某些情況下,進行自定義繪圖很有意義,SpriteKit(從iOS 8和OS X 10.10開始)具有一些實現此目的的功能。

  1. 如果您想創建適用於Sprite的自定義圖片,並且該圖片大部分是靜態的(也就是說,在SpriteKit制作場景動畫時不需要頻繁重繪),只需使用您選擇的繪圖API-Core Graphics,OpenGL,emacs ,無論如何-創建圖像。 然后,您可以將該圖像粘貼到SKTexture對象中,以應用於場景中的精靈。

  2. 要直接修改紋理中的位,請使用SKMutableTexture 這實際上並沒有提供繪圖功能-您只能使用原始圖像數據。 (雖然您可以在其上分層放置繪圖工具,例如,通過從數據創建CG圖像上下文並用CG結果重寫數據,但是這樣做會使您減慢太多速度,無法跟上動畫幀速率。)

  3. 如果您需要高幀率,每像素繪圖,那么最好的選擇是完全在GPU上進行。 SKShader使用SKShader

如果您的應用程序每幀都在重繪,則可以使用屏幕外緩沖區動態更新像素(也稱為SKMutableTexture)。 我不確定會慢多少。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM