2012-12-24 1 views
1

나는 OpenGL 3.2를 작동시키려는 데 문제가 있었는데, 몇 시간을 보내고 잘못된 것이 무엇인지 알아 내려고 노력하면서 glBegin을 지원하지 않는다는 것을 깨달았다. 전체 화면 쿼드와 GUI 요소를 그리려면 내 엔진에서 약 50-100 번 명령을 사용합니다. 그렇다면 OpenGL 3.2로 사각형을 그릴 수있는 간단한 방법은 무엇입니까? 그렇게 간단한 작업을 수행하기 위해 실제로 정점 버퍼, 조각 쉐이더 및 버텍스 쉐이더를 만들어야합니까?OpenGL 3.2에서 전체 화면 쿼드를 그리는 방법은 무엇입니까?

+0

_modern_ipi를 사용하려면 꼭지점 및 조각 쉐이더를 만들어야합니다 ... 호환성 확장을 사용하지 않으면 고정 파이프 라인이 사라집니다. –

+0

호환성 프로파일로 되돌릴 수는 있지만 새로운 버전을 사용할 때 아무 것도 얻지 못합니다. 또한 고정 파이프 라인으로 물건을 얻는 것도 불가능합니다. 프로그래밍 가능한 파이프 라인은 미래가 아니라 이미 있습니다. –

답변

4

이렇게 간단한 작업을 수행하기 위해 실제로 정점 버퍼, 조각 쉐이더 및 버텍스 쉐이더를 만들어야합니까?!

그래, 코어 프로필에는 공짜 물건이 없습니다.

+0

Dang 이것은 빨기 위해 ... – SteveDeFacto

+2

@SteveDeFacto :별로. 셰이더를 작성하는 것은 고정 된 기능 파이프 라인에 관련된 모든 국가 관리를 다루는 것보다 훨씬 덜 효과적입니다. 쉐이더를 사용하면 고정 된 파이프 라인에 glEnable과 glDisable 콜이 한 개, 프로젝션과 모델 뷰가 적어도 설정되고 텍스처를 얻기 위해 12 개의 glTexEnvi 호출을 설정하는 등 간단한 'glUseProgram'일 수 있습니다. – datenwolf

+0

결국 더 좋아 지겠지만 내 전체 라이브러리를 변환하는 것을 빨아 먹을 것입니다. – SteveDeFacto

관련 문제