요약
어찌보면, 당연히 성공했어야 하는 예제 프로그램이었는데도 Linux 환경과 Window에서 동시에 적용하려 하다보니, 진행하는데 어려움이 있었다.
좀 구차한 설명을 하자면, Linux 에는 GPU 가 없어서 Shader Program을 지원하지 못한다. Window 환경은 GPU 를 지원하다보니, 동시에 예제를 동작하게 하려면, Window 에서 진행하는 코드가 GPU 가 아닌 이전 OpenGL 기반으로 코딩해야 하는데, 그 동안 이게 잘 되지 않았다가 이제 Window 에서 구현된 것이다. 이 결과는 어쨌던 Simulation을 진행하기 위해서는 가장 기초적으로 구현되어야 하는 기능이었기 때문에 (그래도 앞으로 추가 해야 할 기본적인 것이 많이 남아있다.. Multi-window, Multi-View Point 등등...), 이 예제는 중요하다.
아직 Linux 에서는 완전히 구현 된 것이 확인 된 것은 아니지만, 어쨌던 현재 진행하는 Window Qt 5.12.2 에서 몇 주 헤매다 얻어진 결과이다. 예제 파일은 첨부에 두었다.
실행 결과
위의 그림과 같이 간단히 윈도우 창 (MainWindow) 에 QGLWidget Class를 사용해서 삼각형이 그려진 위젯과 창을 닫는 버튼으로 구성된 간단한 결과이다.
헤맨 이유
그 동안 왜 헤맸는지 결과를 이야기하면, test02.pro 에서 빨간색 라인으로 써진, LIB command를 포함하지 않으면 Compile시에 다량의 "undefined reference" 에러가 발생한다.
여러번 다양한 시도를 했지만, 안되다가 결국 Chat GPT 의 도움을 받아 성공했다.
코드 설명 전
코드 내용이 헤맨 것에 비하면 꽤 간단하기 때문에 차근차근 하겠다.
아직 확인이 안된게 있지만, 이 것을 실행하기 위해 opengl 라이브러리를 다운받아서 Window System Folder 에 넣은 것도 유효했다. 혹시 라이브러리 설정에 문제가 있으면, 아래 파일과 링크 블로그를 살펴보자.
https://kangjik94.tistory.com/43
'Solution > Qt Programming' 카테고리의 다른 글
[Qt] Rotating Teapot in MDI Window (0) | 2023.08.26 |
---|---|
[Qt] Drawing a triangle in a sub-window with Open-GL (0) | 2023.08.05 |
[Qt] Signal, Slot, and Connect (0) | 2023.07.22 |
[Qt] OpenGL 예제 (1) | 2023.07.01 |
Qt 에서 Dial 구현 (0) | 2023.06.23 |