Pages Menu
TwitterRssFacebook
Categories Menu

Posted by on Ago 2, 2019

framebuffer 예제

RTT = render_to_texture 이 페이지는 RTT를 설정하는 방법과 정리 방법에 대한 몇 가지 예를 보여줍니다. 확장 사양은 http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt 이 확장이 GL 3.0의 핵심이 되었으며 동시에 GL_ARB_framebuffer_object와 gl_EXT_framebuffer_object, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_depth_stencil을 함께 제공하는 gl_ARB_framebuffer_object와 http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt 확장의 ARB 버전을 릴리스했습니다. 프레임 버퍼에 3D 장면을 렌더링하려면 색상 버퍼와 깊이 버퍼가 모두 필요합니다. 예제는 webgl/cube-camera.html 샘플 프로그램에서 찾을 수 있습니다. 이 예제에서는 큐브맵 텍스처에 렌더링-텍스처를 사용합니다. 그런 다음 큐브맵 텍스처는 반사 표면의 환경 맵으로 사용됩니다. 환경 맵 외에도 프로그램은 스카이박스에 다른 큐브맵 텍스처를 사용합니다. (하위 섹션 6.3.5 참조). 다음은 프로그램의 이미지입니다: 이 예제에는 프레임 버퍼 오브젝트를 통해 다른 텍스처 큐브가 그려진 움직이는 큐브가 있습니다. 프레임 버퍼의 큐브는 Qt 빠른 컨트롤의 슬라이더를 사용하여 회전할 수 있습니다. 렌더링할 것을 프레임 버퍼라고 합니다. 텍스처에 대한 컨테이너와 선택적 깊이 버퍼입니다. OpenGL : glFramebufferTexture2D()의 다른 오브젝트와 마찬가지로 만들어지면 FBO에 2D 텍스처 이미지를 첨부합니다.

첫 번째 매개변수는 GL_FRAMEBUFFER여야 하며 두 번째 매개변수는 텍스처 이미지를 연결하는 부착점입니다. FBO에는 여러 색상 부착점(GL_COLOR_ATTACHMENT0, …, GL_COLOR_ATTACHMENTMENTn), GL_DEPTH_ATTACHMENT 및 GL_STENCIL_attachment가 있습니다. 세 번째 매개 변수인 “textureTarget”은 대부분의 경우 GL_TEXTURE_2D입니다. 네 번째 매개 변수는 텍스처 개체의 식별자입니다. 마지막 매개 변수는 연결할 텍스처의 밉랩 수준입니다. gl.blendFunc (gl)에 의해 설정 된 블렌드 기능. 하나, 글. ONE) 멀티 패스 알고리즘에 사용할 수 있습니다. 다중 패스 알고리즘에서는 장면이 여러 번 렌더링되고 결과가 어떻게든 결합되어 최종 이미지를 생성합니다.

(애너글리프 스테레오 렌더링이 예입니다.) 다양한 가공 패스의 결과를 합산하려는 경우 색상 버퍼를 0으로 채우고 혼합을 활성화하고 혼합 함수를 (gl)로 설정할 수 있습니다. 하나, 글. 1) 렌더링 중. 단순히 여러 텍스처를 만들 (모두 정확하고 동일한 크기!), 각각에 대해 다른 색상 부착과 glFramebufferTexture를 호출, 업데이트 된 매개 변수와 glDrawBuffers를 호출 (같은 것 (2,{GL_COLOR_ATTACHMENT00, GL_COLOR_ATTACHMENT1}})), 조각 쉐이더에 다른 출력 변수 추가 : 색상 마스크를 사용하여 색상 버퍼에 쓰기를 제어할 수도 있습니다. 색상 버퍼에는 색상의 빨간색, 녹색, 파란색 및 알파 구성 요소에 해당하는 4개의 “채널”이 있습니다.

Centro per un Futuro Sostenibile via Tacito, 84 00193 Roma tel. +39 06 90288228