Windows에서 일부 쉐이더 프로그래밍을 시도하고 있습니다. 온라인에서 찾을 수있는 모든 코드는 wglGetProcAddress를 사용하여 이러한 함수의 위치를 파악해야한다고 말합니다. 그러나 링크 할 라이브러리가 무엇인지 모릅니다.어떤 Windows 라이브러리에 glCreateProgramObjectARB가 정의되어 있습니까?
2
A
답변
3
벤 보이트의 대답은 두 가지 예외를 제외하고는 거의 정확 :
- 모든 OpenGL을 1.0 및 1.1 기능은 1.3 위쪽 모두 확장 동적으로로드해야 opengl32.lib에 inlcuded입니다됩니다.
- WGL은 동일한 픽셀 형식을 공유하는 모든 컨텍스트가 동일한 함수 포인터를 공유 함을 보장합니다. OpenGL 3.x/4.x 또는 멀티 샘플링을 사용하는 응용 프로그램은 반드시 형식이 잘못 될 수 있으므로 중요한 세부 정보입니다.
그러나 간단히 말해서이 모든 것을 잊어 버리십시오. GLEW을 다운로드하고 5 분 안에 완료하십시오. 그냥 작동하므로 사소한 구현 세부 사항에 신경 쓸 필요가 없습니다. 프로그램 시작시 하나의 init 함수를 호출하면 모든 것이 좋다.
2
opengl32.lib
에 연결하면 wglGetProcAddress
이됩니다. 컨텍스트를 최신으로 만든 후에 나머지는 모두 wglGetProcAddress
을 통해 동적으로 가져와야합니다. 이는 다양한 컨텍스트가 다양한 기능의 다른 구현을 사용할 수 있기 때문입니다.
GLee 또는 GLEW와 같은 확장 로더는 함수 포인터 세부 사항을 수행 할 수 있지만 여전히 opengl32.lib
을 연결해야합니다.
관련 문제
- 1. C# : SHDocVw.WebBrowser_V1은 어떤 어셈블리에 정의되어 있습니까?
- 2. Web2c 형식 파일에 어떤 매크로가 정의되어 있습니까?
- 3. ERROR_PENDING은 어디에 정의되어 있습니까?
- 4. 어떤 JavaScript 라이브러리에 이벤트 위임이 있습니까?
- 5. CCSlider가 coco2d에 정의되어 있습니까?
- 6. 오랫동안 정의되어 있습니까?
- 7. android.camera.NEW_PICTURE는 어디에 정의되어 있습니까?
- 8. AuthKit의이 코드는 어떤 역할을합니까? (이 함수와 메소드는 어디에 정의되어 있습니까?)
- 9. Windows 서비스는 어떤 디렉터리에 있습니까?
- 10. 핵심 애니메이션은 어디에 정의되어 있습니까?
- 11. 구조체에 함수 포인터가 정의되어 있습니까?
- 12. 콜백에 매개 변수가 정의되어 있습니까?
- 13. Enum.values ()는 어디에 정의되어 있습니까?
- 14. 필수 보석은 어디에 정의되어 있습니까?
- 15. System.Net.PeerToPeer 라이브러리에 문제가 있습니까?
- 16. Windows Media Player 라이브러리에 액세스 C#
- 17. Windows 용 라이브러리에 유니 코드 지원 추가
- 18. Delphi DCU에서 어떤 유형이 정의되어 있는지 알려주는 방법은 무엇입니까?
- 19. Windows 용 SSH 서버에는 어떤 것들이 있습니까?
- 20. Windows Phone 7에서 어떤 배경색이 활성화되어 있습니까?
- 21. Windows Mobile에서 어떤 언어로 개발할 수 있습니까?
- 22. Windows API에서 어떤 파일을 드래그하고 있습니까?
- 23. "내부 클래스는"하나의 라이브러리에 컴파일,하지만 난 그게에 정의되어 어셈블리의 보이지 않는 내부 속성이
- 24. 왜 이러한 기본 매개 변수가 정의되어 있습니까?
- 25. 내 php.ini 파일 위치는 어디에 정의되어 있습니까?
- 26. 바이너리 작성 단계에서 활성화 레코드가 정의되어 있습니까?
- 27. c 표준 라이브러리에서 stdin은 어디에 정의되어 있습니까?
- 28. C에서 왜 'max'매크로가 이렇게 정의되어 있습니까?
- 29. Erlang : 동일한 모듈에 여러 동작이 정의되어 있습니까?
- 30. SVG 필터 요소는 얼마나 잘 정의되어 있습니까?
+1 GLEW를 추천합니다. 이로 인해 창에서 확장 기능을 쉽게 처리 할 수 있습니다. – Thomas
skt : "모든 컨텍스트에 대해 동일한 함수 포인터"에 대한 참조가 있습니까? 나는 다른 공급 업체의 비디오 카드 두 개가 있다면 다른 기능 포인터를 얻을 수 있다는 인상하에 있습니다. 사실 여러 함수 포인터 세트를 처리하지 않는 것이 내가 볼 수있는 GLEW의 유일한 이점입니다. GLee "GL Easy Extensions"는 다른 여러면에서 월등합니다. 그리고 나는 "필연적으로 기형적 인"것에 관한 부분을 이해하지 못합니다. 'wglCreateContextAttrib'를 호출 한 후에는 기존 포인터를 모두 버리고 새로운 포인터를 얻을 수 있습니다. GLEW가 실제로이 작업을 수행한다고 생각합니다. –
확실 : http://msdn.microsoft.com/en-us/library/dd374386%28VS.85%29.aspx (마지막 단락) "확장 기능 주소는 각 픽셀 형식마다 고유합니다. 픽셀 형식은 동일한 확장 기능 주소를 공유합니다. " – Damon