2011-11-04 5 views
2

두 사람이 같은 사람이 나와 대화 할 수 있습니까? 나는 그것에 대해 정보를 읽고 된이 레드 북은 여기프레임 버퍼/컬러 버퍼?

는 "컬러 버퍼 자체가 여러 개의 서브 버퍼로 구성 될 수 있습니다. 시스템의 프레임 버퍼는이 버퍼의 모든 구성"라는 같은 다음 프레임 버퍼를 here

을 의미 실제 버퍼로 구성된 가상 버퍼? (깊이/스텐실 등)

답변

6

프레임 버퍼에는 깊이, 스텐실, 색 및 누적 버퍼가 포함되어 있습니다. 색상 버퍼는 가장 중요한 부분이지만 단 하나의 부분입니다. 더 많은 색상 버퍼를 만들 수 있으며 OpenGL에서 더 많은 프레임 버퍼를 만들 수도 있습니다.

때때로 "가상 프레임 버퍼"는 화면에 그려지지 않은 프레임 버퍼 (예 : 디스크에 쓰거나 텍스처로 사용됨)를 의미합니다. 이 용어는 OpenGL이 아니라 X11에만 해당됩니다.

+0

좋아, 계층 적으로 말하는 프레임 버퍼는 항상 다른 버퍼의 수퍼 셋과 같습니다. 맞습니까? 사실상 나는 실제적인 완충 장치 자체를 (물리적으로) 좋아하지 않는다는 것을 의미했다. 예를 들어 유엔은 모든 국가의 그룹이지만 유엔과 같은 국가는 없다. 맞습니까? – Manish

+1

프레임 버퍼는 실제이며 컬러 버퍼도 실제입니다. 캐나다가 진짜처럼, 온타리오도 진짜입니다. –

5

정말로 grok하고 싶다면 OpenGL Framebuffer Objects을보십시오. FBO는 "오프 스크린"렌더링 타겟입니다. 즉, 그림을 화면에 표시하는 대신 FBO로 렌더링합니다. 이렇게하기 전에 FBO를 만들고 구성해야합니다. 이 구성의 일부는 렌더링 된 그림의 픽셀 별 색상 정보를 유지하는 버퍼 인 색상 첨부를 추가하는 것입니다. 어쩌면 거기에서 멈추거나 깊이 부착을 추가 할 수도 있습니다. 3D 지오메트리를 렌더링하는 경우 올바른 모양을 원하면 이 있어야이 깊이 채점을 추가 할 수 있습니다.

사실, 좋은 실험입니다. 간단한 3D 큐브를 화면에 렌더링하는 작은 OpenGL 프로그램을 작성하십시오. 이 작업을 완료하면 렌더링 대상을 색 첨부만으로 구성한 FBO로 변경하십시오. OpenGL은 렌더링하는 동안 깊이 정보를 저장할 위치가 없으므로, 제대로 보이지 않습니다. 팔! 모든 것이 같은 깊이가됩니다. 이제 깊이 부착을 FBO에 추가하고 렌더링 변경 방법을 확인하십시오.

화면 프레임 버퍼가 기본적으로 기본 FBO 인 것으로 간주되면 프레임 버퍼가 여러 버퍼로 구성되어 있음이 분명합니다.

관련 문제