OpenGL 컨텍스트를 재설정하는 방법은 없습니다. 기본 상태입니다. 그리고 이것이 있었다고해도, 이것은 여러분의 문제를 해결하지 못합니다. 왜냐하면 여러분의 코드가 끝났을 때 입력 할 때 발견 된 상태의 OpenGL 컨텍스트 뒤에 남지 않는다는 사실 때문에 문제가 발생하는 것처럼 보입니다. 확실히 기본 상태가 아닙니다.
그러나 가능한 것은 코드 대신 OpenGL 컨텍스트를 만들고 일시적으로 전환하여 자신의 일을 처리 한 다음 원래 코드로 되돌려 놓는 것입니다. Windows는 OpenGL 컨텍스트에 연결되어 있지 않으며 OpenGL 컨텍스트는 Windows에 연결되어 있지 않습니다. 원하는대로 선택하고 혼합하십시오 (픽셀 형식이 호환 가능한 경우 대부분의 창/컨텍스트 설정에 해당).
처리로 생성 한 OpenGL 개체 (텍스처, 버퍼 개체)에 액세스하려는 경우 (상태를 공유하지 않기 때문에 안전합니다) 컨텍스트 데이터를 공유 할 수 있습니다. 코드가 소유하고 있지 않은 내용을 수정하거나 완전히 삭제하지 마십시오.
JOGL/AWT를 사용하여 문제를 해결할 수 있습니다. 라이브러리 참조를 한눈에 보면 드로어 블이 현재 활성 인 OpenGL 컨텍스트에 바인딩되어 있는지 파악할 수있는 확실한 방법이 없습니다. 현재 컨텍스트를 쉽게 얻을 수 있습니다. 그러나 JOGL 자체는 오픈 소스이기 때문에 쉽게 사용할 수있는 방법이 없다면 쉽게 구현할 수 있어야합니다 (또한 라이브러리에 추가 할 가치가 있습니다).
[mcve]를 게시 할 수 있습니까? –
케빈 (Kevin) 주가 진실이라고 생각합니다. 요점은 아마도 당신이하고있는 일을 할 수있는 다른 방법이있을 것이고 그 해결책은 OpenGL을 다시 설정하는 대신 그곳에서 올 수 있다는 것입니다. 중요한 포인트. AWT에서 OpenGL에 어떻게 액세스합니까? 그것은 당신 자신의 개발이거나 JOGL과 같은 다른 라이브러리를 사용하고 있습니까? Swing/AWT/JOGL에서 몇 가지 문제점을 발견했습니다. 검색 후, 적어도 MAC에 대해서는 NEWT 구현으로 해결했습니다. –
지금은 N 컴포넌트를 인스턴스화하는 중입니다. 일부는 PApplet에 컴포넌트로 추가되고 일부는 draw 루프 중에 PApplet 인스턴스를 사용하여 사용자 정의 컴포넌트로 추가됩니다. 맞춤 구성 요소의 특성은 복합이므로 푸시 매트릭스 및 클립/noclips (매트릭스 스택 깊이에주의). 다음 datenWolf 리드 다음 GL GL = ((PJOGL) beginPGL()) .gl.getGL(); endPGL(); openGL 컨텍스트에 대한 . 나는 단지 그것을보고합니다. 그래픽에 관해서는 정말로 도서관 사용자 일뿐입니다. 왜 내가 처리를 선택했는지. – Yggdrasil