2014-04-11 3 views
3

여기의 목적은 렌더링이 아니라 gpgpu입니다. 이미지 흐리게하기위한 것입니다 :밉맵 생성 - 하드웨어 가속인가요?

이미지가 주어지면 고정 된 분리 가능한 커널로 흐리게 처리해야합니다 (예 : Separable 2D Blur Kernel 참조).

은 GPU의 처리를 위해, 좋은 인기있는 방법은 내가 고정 된 크기의 커널이있는 경우, 나는 내가 원하는 수준에 가까운 빠른 계산 밉맵을 사용할 수 있다고 생각하지만 first filter the lines, then filter the columns; and using the vertex shader and the fragment shader to do so (*)

하는 것 그런 다음이를 (as was suggested here)으로 업 샘플링하십시오.

따라서 질문 : opengl로 만든 밉맵이 (*) 메서드를 사용하여 만든 밉맵보다 빠릅니까?

다른 식으로 말하면, gpu 자체에서 밉맵 생성이 최적화되어 있습니까? 항상 사용자가 만든 glsl 코드보다 속도가 빠릅니까? 아니면 그래픽 카드에 의존할까요?

편집 : 답장을 보내 주셔서 감사합니다 (Kahler, Jean-Simon Brochu). 그러나 특정 밉맵 생성 -gpu 하드웨어 때문에 GPP에 의한 밉맵 생성이 사용자가 만든 밉맵보다 빠르다는 것을 명시 적으로 말한 리소스는 아직 보지 못했습니다 ...

+0

내가 완전한 대답하지만, 사용자 정의 GLSL 쉐이더 의지를 필요는 없습니다 대규모 병렬 처리가 가능하다. 좋은 카드는 동시에 1000 조각을 처리 할 수 ​​있습니다.그러나 좋은 성능 테스트와 같은 것은 없습니다. –

+0

언급 한 Rastergrid 기사가 너무 좋습니다! 그것에 걸려 넘어지는 모든 OpenGL 학습자에게 행운을 빕니다! 답장을 보내 주셔서 감사합니다. – Kahler

답변

2

OpenGL은 상관 없습니다 기능이 구현됩니다.

OpenGL은 glGenerateMipmap 중 하나입니다.

누구나 소프트웨어 렌더러를 작성하거나 사양을 준수하는 비디오 카드를 개발할 수 있습니다. 테스트를 통과하면 ~ OpenGL 인증 ~

즉 CPU 또는 GPU에서 수행해야하는 기능이 없거나 어디서든 OpenGL 예상 결과를 생성해야한다는 의미입니다.


이제 실제 측 : 요즘

, 당신은 단지 메이저 업체들이이 방식을 채택하고 있기 때문에 밉맵 생성은, 비디오 카드에 의해 수행된다고 가정 할 수 있습니다. 정말로 알고 싶으면 프로그래밍 할 비디오 카드를 구체적으로 확인해야합니다.

성능면에서 비디오 카드를 이길 수 없다고 가정합니다.

첨단 기술의 일부 CPU에서 고도로 최적화 된 코드를 만들었더라도 생성 한 밉맵을 GPU에 업로드해야하며이 작업만으로는 풀 해상도 텍스처를 업로드 한 후 GPU에 작업을 맡길 수 있습니다.

그리고 밉맵을 쉐이더로 프로그래밍하면 하드 코딩 된 (심지어 하드 와이어 된) 기본 제공 기능을 이길 확률은 여전히 ​​낮습니다. (그리고 그 코드 형,이, 떨어져, 더 나은 등을 처리 일정을 수 있다는 사실은 제외)


This site explains the glGenerateMipmap history better =))

+0

네가 준 링크를 발견했지만, 밉맵 작성이 전용 하드웨어로 수행되는지 여부는 아직 이해할 수 없다. – zuuz

+0

흠 ... 음 ... 좋아. 나는 그 영광에 대한 해답을 편집했다. – Kahler

+0

괜찮습니다. 더 완벽한 답변을 보내 주셔서 감사합니다. 나는 그것을 지금 받아 들였다 :-) – zuuz

관련 문제