2010-03-04 3 views
3

안개를 그릴 수있는 기능이 OpenGL에 있다는 것을 알고 있습니다.코어 그래픽을 사용하여 안개를 그리기

그러나 Core Graphics를 사용하여 안개 (담배 연기)를 그리는 방법은 무엇입니까? 이 어려운 작업입니까? 그리고이 작업을 구현하기위한 개념은 무엇입니까?

+0

핵심 그래픽은 무엇입니까? –

+0

Miha Markic : 드로잉 API. http://developer.apple.com/mac/library/documentation/GraphicsImaging/Reference/CoreGraphicsReferenceCollection/ –

답변

3

Core Graphics에서 OpenGL 뷰포트에 액세스 할 수있는 경우를 제외하고 코어 그래픽에서 안개에 대한 기본 제공 지원은 알지 못합니다.

그래픽 관점에서 안개를 그리는 것은 연기를 그리는 것과 매우 다릅니다.

드로잉 안개는 개념적으로 간단합니다. 각 픽셀에 대해 카메라에서 가장 가까운 점까지의 거리를 추적합니다. 카메라에서 멀리 떨어진 지점 (임의의 "먼"컷오프를 지나서)은 균일 한 색상, 일반적으로 밝은 회색으로 희미 해집니다. 임의의 "가까운"컷오프보다 가까운 점은 전혀 수정되지 않습니다. 그 사이의 점들의 색상은 점의 자연색과 안개 색상의 보간법입니다. 정확히 당신이하는 보간은 대체로 예술적 선택입니다.

연기를 그리는 것이 더 어려운 문제입니다. 일반적인 접근 방법 중 하나는 입자 시스템을 사용하는 것입니다. 시스템의 각 입자는 연기의 덩어리를 나타냅니다. 입자가 크면 빠르지 만 사실적으로 보이지는 않습니다. 그런 다음 어떤 방식 으로든 원하는 모양을 제공하면서 연기의 비트를 움직이게하고 모의 연기 입자마다 반투명 얼룩을 그립니다.

관련 문제