2014-04-11 1 views
2

하드웨어 가속 때문에 OpenGL을 2D 그래픽에 사용하고 싶습니다. 오히려 현대 OpenGL을 사용하거나 이것을 위해 고정 파이프 라인을 사용하도록 권하겠습니까? 이 전체 쉐이더 글쓰기가 너무 많은 오버 헤드처럼 보입니다. 나는 2 차원 프리미티브를 그리기를 원한다.2d 그래픽 용 최신 OpenGL

+0

SDL과 같은 라이브러리를 사용하는 것이 좋습니다. 화면 뒤에서 OpenGL을 사용하는 많은 사람들이 있기 때문에, 하드웨어 가속 그림 – acrilige

+0

은 내가하고 싶지 않았던 것과 정확히 일치합니다. 그런 도서관에서 독립적으로 머물고 싶습니다. – user3425881

답변

0

최신 OpenGL이 더 좋습니다. 셰이더를 두려워하지 마십시오. 그들 없이는 블렌딩을 사용하여 이미지를 그리는 것 외에는 아무것도 할 수 없습니다. 너무 멀리 갈 수는 없습니다 ... 셰이더를 사용하면 Photoshop과 같은 효과를 거의 모든 방법으로 처리 할 수 ​​있습니다.

2

프로그래밍 가능한 파이프 라인 을 사용하는 사소한 그래픽의 경우에도 고정 기능 파이프 라인과 반대로이 원하는 것입니다. 결국 프로그램 가능 파이프 라인을 사용하면 그래픽을 자유롭게 표현할 수 있습니다. 어떻게 프로그램을 결정할파이프 라인은 그래픽 사용자의 요구에 의해 결정됩니다. 하나의 셰이더 만 있으면됩니다. 'modern opengl'을 위해 수백 개의 쉐이더가 필요하다는 서면 규칙은 없습니다.

현대적 OpenGL이 실제로 그렇게 많은 노력을 기울이는 것은 논쟁의 여지가 있습니다. 셰이더, 정점/인덱스 버퍼 및 몇 가지 텍스처입니다. 고정 함수 파이프 라인과 비교할 때, 고정 함수 파이프 라인을 고수해야한다는 점도 실제로 많이 변경 되었습니까?

프로그래머블 파이프 라인을 선호해야하는 또 다른 이유는 고정 기능 파이프 라인이 더 이상 사용되지 않기 때문입니다. 즉, 제거 보류 중입니다. 개념 상 IHV는 언제든지 지원을 중단 할 수 있습니다.

+0

로렌스, 2 차원 그래픽이 단지 이미지 일 경우, 즉 당신이 bitblt에 해당하는 것을 찾고 있다면 어떻게해야합니까? 나는 몇 가지 비교를 해왔고 DirectX의 속도에 가까운 어느 곳에서도 결코 얻을 수 없었습니다. 내가 뭔가 잘못했거나 ("오래된"OpenGL을 사용하는 것처럼) 또는 DirectX (실제로 Direct2D)가 더 빠르면 여전히 의심의 여지가 있습니다. –

+1

성능은 어려운 주제입니다. 특히 하드웨어 가속이 적용되는 세계에서는 대다수의 경우 하드웨어가 무엇인지 알지 못하거나 운전자가하고 있다고 말하는 경우가 많습니다. 쉽게 성능을 저하시키는 경로가 많이 있습니다. 가장 좋은 방법은 프레젠테이션/협상 등 업계 전문가가 제시 한 권장 사항을 읽는 것입니다 (예 : 'OpenGL에서 제로 드라이버 오버 헤드에 접근하기'gdc 2014). DirectX에는 성능의 광범위한 사용 기록이 있습니다 중요한 애플리케이션 (예 : 게임)은 실제로 더 빠를 수 있습니다. –