Qt example중 opengl에 관한 예제가 있습니다.
글쓴이: pogusm / 작성시간: 토, 2011/07/09 - 4:49오후
(win7 환경입니다.)
Qt에서 제공하는 예제 소스중에 OpenGL에 관한 2dpainting이라는 것이 있습니다. (첨부)
2dpainting은 '회전하는 이미지'를 출력하는데
Native 출력과 OpenGL 출력을 동시에 보여줌으로해서..
이 둘을 비교해 볼 수 있는 예제인듯 합니다.
하지만, 아무리 봐도 차이를 알 수가 없습니다.
요즘 pc성능이 너무 좋아져서, 첨부이미지 같이 간단히 회전하는 이미지는 굳이 OpenGL의 도움이 없어도 구현이 가능하기때문인가요?
(소스를 수정해서 50ms마다 회전하는것을 0ms마다 회전하게 해도 차이가 나지 않습니다..)
아니면, windows에서 native출력에 대한것을 다이렉트X같은? 것을 통해 출력해주기 때문에 OpenGL과 차이가 없는걸까요?
궁금합니다. ㅠㅠ
File attachments:
첨부 | 파일 크기 |
---|---|
![]() | 14.01 KB |
![]() | 33.75 KB |
Forums:
방식은 이렇습니다.
소스를 보면
glwidget - opengl 뷰어
widget - 위젯 뷰어
helper - 실제 그리기. 입니다.
각 뷰어'를 보면 paintEvent()에서
helper->paint(&painter, event, elapsed);
라는 함수'를 볼 수가 있는데요.
현재 출력'될 뷰어'의 페인터'와 이벤트'를 넘겨줘서
opengl이나 native 출력을 원하는대로 출력'할 수 있도록 해줍니다.
--
helper가 연산'및 그리기'를 하고
실제 출력은 opengl이나 native로 출력한다는 말입니다... 라고 이걸 쓰고 있어야 하네요...
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
네, 답변 감사합니다.
helper가 연산 및 그리기를 하고 실제 출력을 openGL이나 native로 출력한다는건
저도 소스를 봐서 알고 있었습니다.
제가 궁금했던건,
"왜 차이를 확인할 수 없는가?" 였습니다..
저 예제는 그냥 opengl을 이용하는 방법을
저 예제는 그냥 opengl을 이용하는 방법을 보여주는 예제에 불과합니다.
저 정도로는 성능 차이가 나타나기 힘들고, 2D 도 또한 가속이 되기 때문에 그 차이가 두드러지 않죠.
답변 감사합니다.
매우 간단한 거라서 성능 차이를 확인하긴 어려운거군요..
근데
"2D도 또한 가속이 되기 때문에" 라는건
"예제의 2D 샘플을 native 출력하더라도 하드웨어 가속이 되기때문에, openGL만큼의 성능을 낸다" 라는 말인건가요?
대부분의 그래픽 카드가 윈도 환경에서 2D 가속을
대부분의 그래픽 카드가 윈도 환경에서 2D 가속을 지원합니다.
네 그렇군요.
답변 고맙습니다. ㅎㅎ
댓글 달기