내가 사용하지 않는 것을 할당하지 않음으로써 비디오 카드 메모리를 절약하려고합니다. 나는 기억이 부족하다. 그러나 그것은 나에게 '깨끗한 느낌'을 줄 것이다.알파와 깊이가없는 기본 프레임 버퍼를 사용할 수 있습니까?
어쨌든 내 윈도우가 바탕 화면과 알파 블렌드되지 않기 때문에 기본 프레임 버퍼에 알파 값을 갖는 이유를 생각할 수 없습니다. 나는 그것의 알파를 제거함으로써 더 많은 색 깊이를 가질 수 있는지 궁금 해서요.
마찬가지로, 나는 약간의 지연된 조명을하고 있으며, 모든 깊이 계산은 디폴트가 아닌 프레임 버퍼에서 발생합니다. 그런 다음 장면을 렌더링 한 텍스처와 몇 가지 GUI 요소를 기본 프레임 버퍼에 쿼드 (2 트리스)를 렌더링합니다. 그 중 어느 것도 깊이 테스트가 필요하지 않습니다. 기본 프레임 버퍼를 렌더링 할 때는 glDisable(GL_DEPTH_TEST)
라고 부릅니다.하지만 사용하지 않는 깊이 버퍼 대신 깊이 버퍼를 사용하지 않아도됩니다.
OpenGl에서 그렇게 할 수 있습니까? 아니면 내 OpenGL 컨텍스트를 만드는 SDL 내에서? 나는 다음과 SDL 내 OpenGL을 컨텍스트를 만들려고
는 SDL의 날 내 소원 부여 여부를 확인할 수 있도록 할 것 sdl_gl_GetAttribute
기능이 부족 GoLang 바인딩, 불행하게도
sdl.GL_SetAttribute(sdl.GL_DOUBLEBUFFER, 1)
sdl.GL_SetAttribute(sdl.GL_DEPTH_SIZE, 0)
sdl.GL_SetAttribute(sdl.GL_ALPHA_SIZE, 0)
info := sdl.GetVideoInfo()
bpp := int(info.Vfmt.BitsPerPixel)
if screen := sdl.SetVideoMode(640, 480, bpp, sdl.OPENGL); screen == nil {
panic("Could not open SDL window: " + sdl.GetError())
}
if err := gl.Init(); err != nil {
panic(err)
}
속성.
내가 말했듯이 긴급 상황은 없습니다. 나는 대부분 호기심이 많다.
이 컴포 지터가 실행중인 X11의 윈도우 알파 혼합을 만들 것입니다 기본 프레임 버퍼에 알파 채널을 가진. https://github.com/datenwolf/codesamples/tree/master/samples/OpenGL/x11argb_opengl_glsl – datenwolf
에서 데모 코드를 확인하십시오. @datenwolf : 충분합니다. –
이상한 'glGetFramebufferAttachmentParameteriv'는'GL_INVALID_ENUM'을 계속 반환합니다. 문서를 제대로 읽으면 대상 "GL_DRAW_FRAMEBUFFER"이 잘못되었음을 의미합니다. 이후 아마 잘못 아니에요, 아마 문서를 부적절하게 읽고 있어요. – Niriel