2014-03-18 2 views
1

레이 트레이싱 루틴을 정리하려고하는데 한 레이의 모든 픽셀의 너비/음영이 선의 길이에 따라 변경됩니다. SpriteKit에서 화면에 단일 픽셀을 그리는 방법이 있습니까? 또는 UIImage를 사용하여이 작업을 수행해야합니까?SpriteKit에서 픽셀을 그리는 방법이 있습니까?

답변

5

SpriteKit은 픽셀 드로잉 API가 아닙니다. 그것은 "화면에서 움직이는 사진"API에 가깝습니다. 그러나 몇 가지 경우가 있는데, 사용자 지정 드로잉을하는 것이 이치에 맞습니다. SpriteKit (iOS 8 및 OS X 10.10 현재)에는 몇 가지 기능이 있습니다.

  1. 당신이 예술이 주로 정적 인 상태, 스프라이트에 적용 할 사용자 정의 아트를 만들려면 (즉, 자주 SpriteKit 장면을 애니메이션으로 다시 그려야 할 필요가 없습니다), 당신의 선택의 드로잉 API를 사용하여 - Core Graphics, OpenGL, emacs, 뭐든간에 - 이미지를 만듭니다. 그런 다음 해당 이미지를 SKTexture 객체에 고정하여 장면의 스프라이트에 적용 할 수 있습니다.

  2. 질감 안에 비트를 직접 섞으려면 SKMutableTexture을 사용하십시오. 그리기 기능을 제공하지는 못합니다. 원시 이미지 데이터로 작업하면됩니다. (그리고 예를 들어 데이터에서 CG 이미지 컨텍스트를 만들고 CG 결과로 데이터를 다시 작성하는 등 그리기 도구를 레이어링 할 수 있지만 애니메이션 프레임 속도를 따라 잡기에는 너무 느려지 게됩니다.)

  3. 프레임 속도가 높은 픽셀 당 드로잉이 필요한 경우 가장 좋은 방법은 GPU에서 전적으로 수행하는 것입니다. 이를 위해서는 SKShader을 사용하십시오.

0

응용 프로그램이 모든 프레임을 다시 그릴 경우 오프 스크린 버퍼를 사용하여 동적으로 픽셀 (SKMutableTexture)을 업데이트 할 수 있습니다. 얼마나 느릴 지 모르겠습니다.

관련 문제