2012-06-12 2 views
3

RedBook의 NURBS 장은 유틸리티 라이브러리를 포함하여 더 이상 사용되지 않습니다. " 이 기능 중 일부는 GLU 라이브러리의 일부이지만 코어 OpenGL 라이브러리에서 제거 된 기능은 에 의존합니다."NURBS 및 opengl 4.2 코어는 어떻게됩니까?

실제로 OpenGL 4.2는 NURBS 커브와 서페이스를 조작하기위한 C++ 툴킷이 부족합니까? 상용 타사 도구 키트가 있지만 크로스 플랫폼이 아닙니다 (주로 창)

...?

+0

정보를 추가하십시오. NURBS가 필요합니다. –

+0

나는 서페이스의 배너 흔들기와 비슷한 효과를 얻으려고 노력하고 있지만 단순한 흔들림보다 멋진 무질서한 움직임을 얻고 싶습니다. 매듭 점을 조작하는 것은 프리미티브의 개별 정점에 영향을주는 것보다 훨씬 좋은 방법으로 보입니다. – Ahk4iePaiv8u

답변

4

OpenGL-3 이상에서는 지오메트리 및 버텍스 쉐이더를 자유롭게 사용할 수 있으며 OpenGL-4는 테셀레이션 쉐이더도 제공합니다. GPU 가속 NURBS 및 베 지어 스플라인 및 서페이스를 구현하는 데 필요한 모든 기능을 제공합니다. OpenGL-1.1의 평가자는 대부분의 하드웨어에서 GPU 가속화 된 적이 없었습니다. 그래서 실제로 그들 없이는 더 나을 것입니다.

쉐이더에서 NURBS 또는 베 지어 평가기를 구현하고 정점을 표면 샘플링 포인트로 전송하십시오.

2

레드 북에 관한 질문과 관련하여 GLU 라이브러리는 공식적으로 OpenGL ARB에 의해 사용되지 않으며 오히려 무시됩니다. 그러나 GLU는 OpenGL 3.0에서 더 이상 사용되지 않으며 OpenGL 3.1에서 제거 된 기능 즉, 즉각 모드 렌더링, 디스플레이 목록, 매트릭스 스택 등을 사용했습니다. NURBS에만 한정된, 그들은 여러 가지 기능을 사용했다. (OpenGL 구현과 관련된 GLU 라이브러리는 대부분 GLU의 SGI 버전을 기반으로했다.) 따라서 핵심 기능에서는 기능이 작동하지 않는다. 현대 OpenGL에서 제거 된 GLU만큼이나 C++ 기반 GLU 라이브러리가 부족하지 않습니다.

@datenwolf - 아닙니다. GLU NURBS 라이브러리는 모든 경우에 OpenGL 버텍스 쉐이더 파이프 라인 (즉, 버텍스, 테셀레이션 및 기하학 쉐이딩)을 사용하여 구현하기가 까다로운 트리밍 커브를 지원합니다. 구체적으로 말하자면, 굴곡 규칙과 정확한 트리밍에 대한 지원은 트림 - 커브 횡단을 존중하면서 어렵습니다 (계산 쉐이더와 조각 쉐이더에서의 멋진 작업이 가능할 수 있습니다). 알파 텍스처를 사용하여 트리밍을 해킹 할 수는 있지만 앨리어싱 결과가 좋지만 빠른 수정이 필요합니다.

관련 문제