프레임 버퍼 예제

대부분의 텍스처 유형의 이미지를 프레임 버퍼 개체에 첨부할 수 있습니다. 그러나 프레임 버퍼는 2D 렌더링을 위해 설계되었습니다. 따라서 다양한 텍스처 유형이 프레임 버퍼 이미지에 매핑되는 방식을 고려해야 합니다. 텍스처는 이미지 집합입니다. 텍스처에는 밉맵이 있을 수 있으며 개별 밉맵 수준에는 하나 이상의 이미지가 포함될 수 있습니다. 비디오 카드에는 항상 일정량의 RAM이 있습니다. 이 RAM은 이미지 데이터의 비트맵이 표시를 위해 « 버퍼링 »되는 곳입니다. 따라서 프레임 버퍼라는 용어는 이 RAM을 참조할 때 서로 바꿔 서 사용됩니다. 1974년 에반스와 서덜랜드는 최초의 상업용 프레임 버퍼인 픽처 시스템(Picture System,[11]을 출시하여 약 $15,000의 비용이 들었습니다. 8비트 그레이스케일에서 최대 512×512픽셀의 해상도를 생성할 수 있었고, 자체 프레임 버퍼를 구축할 리소스가 없는 그래픽 연구자에게 는 보탬이 되었습니다. 뉴욕 공과대학(New York Institute of Technology)은 나중에 에반스 와 서덜랜드 프레임 버퍼 세 가지를 사용하여 최초의 24비트 컬러 시스템을 만들 것입니다. [12] 각 프레임 버퍼는 RGB 색상 출력(빨간색용, 녹색용, 파란색의 경우 하나)에 연결되었으며, 디지털 장비 회사 PDP 11/04 미니컴퓨터가 세 장치를 하나로 제어합니다. 경우에 따라 즉시 동적 텍스처를 생성해야 합니다.

가장 일반적인 예는 미러링/반사 효과, 동적 큐브/환경 맵 및 그림자 맵을 생성하는 것입니다. 동적 텍스처링은 장면을 텍스처로 렌더링하여 수행할 수 있습니다. 전통적인 렌더링-텍스처 방법은 장면을 프레임 버퍼에 정상적으로 그린 다음 glCopyTexSubImage2D()를 사용하여 프레임 버퍼 이미지를 텍스처에 복사하는 것입니다. 현재 바인딩된 프레임 버퍼의 색상 버퍼로 사용할 텍스처 오브젝트 dynamicCubemap에서 음수 z 이미지를 연결합니다. 기본이 아닌 프레임 버퍼를 사용하는 예제를 살펴보기 전에 현재 프레임 버퍼로 렌더링하는 데 영향을 주는 일부 WebGL 설정을 살펴봅니다. gl.clear()가 호출될 때 색상 버퍼를 채우는 데 사용되는 선명한 색상과 깊이 테스트의 활성화 된 상태를 예로 들 수 있습니다. 집적 회로 기술의 급속한 개선으로 1970년대 후반의 많은 가정용 컴퓨터가 낮은 색 깊이의 프레임 버퍼를 포함할 수 있게 되었습니다. 오늘날 그래픽 기능을 갖춘 거의 모든 컴퓨터는 비디오 신호를 생성하기 위한 프레임 버퍼를 활용합니다.

1980년대에 제작된 Amiga 컴퓨터는 그래픽 성능에 특별한 디자인주의를 기울였으며 4096 색상을 표시할 수 있는 고유한 홀드 앤 수정 프레임 버퍼를 포함했습니다. OpenGL 확장인 GL_ARB_framebuffer_object는 표시할 수 없는 추가 프레임 버퍼 개체(FBO)를 만드는 인터페이스를 제공합니다. 이 프레임 버퍼를 기본 창 시스템 제공 프레임 버퍼와 구별하기 위해 응용 프로그램에서 만든 프레임 버퍼라고 합니다. FBO(프레임 버퍼 개체)를 사용하여 OpenGL 응용 프로그램은 렌더링 출력을 기존 창 시스템에서 제공한 프레임 버퍼가 아닌 응용 프로그램에서 만든 프레임 버퍼 개체(FBO)로 리디렉션할 수 있습니다.

This entry was posted in Non classé. Bookmark the permalink.

Comments are closed.