2009-03-25 6 views
0

iPhone 응용 프로그램을 만들고 있는데 OpenGL을 사용하고 있습니다. 픽셀 위치를 변경해야합니다. 아무도 픽셀에서 작동하는 기능을 보여줄 수 있습니까?픽셀을 이동하는 방법?

아이디어를 설명하기위한 몇 가지 예제 소스 코드가 인정 될 것입니다.

+0

픽셀 이동이란 무엇을 의미합니까? 그건 정말 말이되지 않습니다. – mmcdole

답변

3

나는 특히 아이폰의 문제에 대한 전문가가 아니에요, 나는 중간의 OpenGL 프로그래머, 그래서 그것은 가치가 무엇인지에 대한이 걸릴 -

OpenGL은 직접 픽셀을 조작 낙담, 그렇지 않은 대부분 때문에 어떤 종류의 하드웨어 가속을 다룰 때 많은 의미를가집니다. 프레임 버퍼는 대개 그래픽 RAM에 직접 저장되며 그래픽 메모리로 비트를 전송하는 것은 빠르지 만 정보를 꺼내는 일은 드물고 최적화되지 않은 경우입니다. 3-d 카드는 픽셀이 아닌 삼각형의 빠른 텍스처링에 최적화되어 있습니다.

옛날, 프레임 버퍼가 메인 메모리에있을 때 큰 문제는 아니었지만 상황이 변경되었습니다. 따라서 개별 픽셀을 엿보고 찌르는 것이 가능할 수도 있지만 일반적으로 네이티브 OpenGL 메서드로 작업을 다시 표현하면 속도가 크게 향상됩니다. GL_POINTS를 사용하여 픽셀을 쓸 수는 있지만 아주 느립니다.

여전히 픽셀을 조작하는 데 유용한 몇 가지 효과가 있습니다. 플라즈마와 불꽃 효과는 실제로 어떤 다른 방법으로도 수행 할 수 없습니다. 이를 위해, 프레임 버퍼를 에뮬레이션하여 자신을 할당하고 직접 작성하는 것이 좋습니다. 그런 다음 표시해야 할 때 전체 블록을 한 번에 화면에 blit하십시오.