0
텍스처가있는 객체를로드하는 스레드를 거의 만들지 않지만 작동하지 않습니다. 각 스레드에서 새 OpenGL 컨텍스트를 만들어야한다는 것을 읽었지만 프로그램을 실행하면 프로그램이 충돌합니다. 다른 방법이 있나요?OpenGL에서로드하는 다중 스레드 객체
저는 무료 GLUT를 사용합니다. 이 내가 스레드에서 사용하고자하는 기능은 다음과 같습니다 다른 스레드에서 호출 할 수있는 사람들의
glGenBuffers()
glBindBuffer()
glBufferData()
glGenTextures()
glBindTexture()
glTexImage2D()
glGenerateMipmap()
glTexParameteri()
glTexEnvi()
그래서 GLUT에서 새로운 컨텍스트를 만드는 방법은 무엇입니까? 로드 기능을 다시 작성하고 싶지 않습니다. – Klapek
GLUT는 지정된 컨텍스트 관리를 제공하지 않습니다. 창을 만들 때 확실히 수행하지만 API에 공개하지는 않습니다. 정말로 원한다면 직접 WGL/GLX/AGL이나 SDL/glfw/etc를 사용할 수 있습니다. 그것은 당신에게 성과상의 혜택을주지는 않을 것입니다. 또한 컨텍스트 간에는 거의 공유 할 수있는 것이 거의 없으며 상태는 분명히 그 중 하나가 아니므로 '바인딩'과 'texenv'를 여러 스레드에서 수행 할 수 없습니다. – keltar
@keltar하지만 다중 스레드 로딩에 필요한 버퍼 객체를 공유 할 수 있습니다. –