2016-05-31 3 views
1

OpenGL 1.1의 함수를 코드에서 사용하고 텍스처를 단추 (단추) 또는 선 (패싯)으로 렌더링하는 데 괜찮습니까? 함수는 다음과 같습니다 : glBegin, glVertex 또는 glEnd?
P. 3D 모델의 경우 OpenGL의 최신 버전에서 VBO를 사용합니다.OpenGL 1.1을 사용해도 괜찮습니까?

+0

아니요. 괜찮지 않습니다. 사용 가치가 거의없는 가치가 떨어지는 것을 사용하고 있습니다. 프로그램에서 더 많은 것을 원하면 셰이더를 사용하십시오. – Poriferous

+0

"확인"의 의미에 따라 다릅니다. 2016 년에 아마추어로서 Windows 95를 사용하는 것이 "ok"와 같은 방식으로 "ok"입니다. 그러나 실제 제품의 현대 기술을 대체하는 것은 아닙니다. – Dan

답변

3

OpenGL-3.3 이상에서 지원되는 호환성 프로파일은 선택 사항이므로 프로그램에서 최신 기능을 사용하는 경우 레거시 기능을 사용할 수 있다고 생각하지 마십시오. 일반적으로 새 코드에서는 glBegin/glVertex/glEnd를 사용하지 않아야합니다. 최신 OpenGL 프리미티브를 사용하여 병리학 적으로 단순한 모양이라도 더 간단하고 쉽게 읽을 수 있습니다. 유일한 "단점"은 셰이더를 지정해야하며 셰이더 설정을 추상화하지 않으면 약간 지루할 수 있습니다.

+0

좋은 답변, @ datenwolf. 하지만, 게임 개발을 촉진하고 GPU 프로세서를 활용하기 위해 대부분의 OpenGL API "업그레이드"가 구현되었다고 위조해서는 안됩니다. 'shaders' 패러다임에 포팅 될 수없는'glBegin/glVertex/glEnd' CPU 패러다임에 의존하는 과학적 시각화를위한 오픈 소스 코드의 대부분은 포기 소프트웨어가 될 것입니다. – user3078414

+0

@ user3078414 : OpenGL-2.1 이전 버전은 사라지지 않습니다. Mesa 구현 (장기간에 걸쳐 장래성 있음) 및 공급 업체 독점 구현을위한 확실한 것은 아닙니다. 느슨한 시장 일뿐입니다. 과학적 시각화에 관한 한 특히 게임이 최적화 될 때 CPU 오버 헤드를 줄이면 많은 도움이 될 것이기 때문에 특히 이러한 응용 프로그램은 현대 OpenGL로 전환하는 것이 큰 도움이됩니다. Vertex Arrays는 OpenGL-1.1 이후로 사용되어 왔습니다 (클라이언트 측만 해당). – datenwolf

+0

@ user3078414 : 최근에 AMD Radeon Technology Group 엔지니어 (또한 전문 장비를 담당)가 나에게 CAD 소프트웨어가 API를 잘못 처리하고 있다는 사실을 말하면서 진실을 말하면서 렌더링 파트를 다시 작성하는 것이 더 쉬울 것입니다. 정확성을 지니고 있으며, 현재의 혼란보다는 여전히 성능이 좋을 것입니다. (정확하지는 않겠지 만 일반적으로 드라이버가 아니며 운전자는이를 해결하기 위해 여러 가지 내부 해결 방법을 적용합니다). – datenwolf

관련 문제