Kuesa 오픈소스 시작하기
개요
Kuesa Runtime 은 Qt 3D용 모듈입니다. 다음과 같은 기능을 제공합니다.
|
Kuesa Studio 는 Kuesa 워크플로우 중에서 디자이너를 위한 부분입니다. 이는 다음과 같은 기능을 제공합니다.
|
자격 요건
Note: 해당 레포지터리는 git-lfs 지원을 요구합니다.
Kuesa Runtime 설치를 위해서는 Qt 5.12.8, Qt 5.14.2 , Qt 5.15.의 Qt3D가 요구됩니다.
Note: Qt 5.12.8에서는 일부 기능이 작동하지 않을 수 있습니다
Qt 3D는 실행시 선택적 사항을 막는 회귀로 인해 어려움을 겪습니다.
https://codereview.qt-project.org/c/qt/qt3d/+/297123 가 이를 바로잡았습니다.
하드웨어 :
1. 데스크톱
OpenGL 3.2(혹은 그 이상 버전)을 지원하는 모든 기종
현재 OpenGL 3.2이 지원되는 운영체제는 다음과 같습니다.:
2. 임베디드
Kuesa 테스트가 성공적으로 완료된 칩셋 및 디바이스 리스트입니다.
OpenGL ES 3.1 혹은 그 이하 버전 또한 지원 가능하지만, OpenGL 익스텐션에 의존하는 기능들은 사용에 제한이 있습니다.
Note: 해당 레포지터리는 git-lfs 지원을 요구합니다.
Kuesa Runtime 설치를 위해서는 Qt 5.12.8, Qt 5.14.2 , Qt 5.15.의 Qt3D가 요구됩니다.
Note: Qt 5.12.8에서는 일부 기능이 작동하지 않을 수 있습니다
Qt 3D는 실행시 선택적 사항을 막는 회귀로 인해 어려움을 겪습니다.
https://codereview.qt-project.org/c/qt/qt3d/+/297123 가 이를 바로잡았습니다.
- Qt 5.12.8 다운로드 및 설치
- Qt3D 클론: git clone [email protected]:qt/qt3d.git
- 5.12 branch 확인: git checkout -t origin/5.12
- Qt setup에서 console 오픈 (Qt 설치시 포함되어 있을 것)
- Qt3D directory에 가서 오른쪽 내용 입력: qmake && make - j4 && make install (혹은 qmake; jom; jom install on Windows)
하드웨어 :
1. 데스크톱
OpenGL 3.2(혹은 그 이상 버전)을 지원하는 모든 기종
현재 OpenGL 3.2이 지원되는 운영체제는 다음과 같습니다.:
- Linux
- Windows
- Mac OS
2. 임베디드
Kuesa 테스트가 성공적으로 완료된 칩셋 및 디바이스 리스트입니다.
- Apple iPad 5 (PowerVR GT7600)
- Apple iPhone 7
- OnePlus 3T (Android, Qualcolmm Snapdragon 821/Adreno 430)
- NVidia Tegra K1 (embedded Linux)
- iMX8 (embedded Linux)
OpenGL ES 3.1 혹은 그 이하 버전 또한 지원 가능하지만, OpenGL 익스텐션에 의존하는 기능들은 사용에 제한이 있습니다.
- HDR 지원을 위해서는 GL_OES_texture_half_float가 요구됩니다.
- Anti aliasing을 위해서는, ARB_texture_multisample 와 GL_EXT_color_buffer_half_float 가 요구됩니다.
Optional Dependencies
Kuesa는 Draco mesh compression library를 선택적으로 사용할 수 있으며, 임베디드 버전 혹은 시스템에 present되는 버전으로 사용할 수 있습니다. Draco는 glTF 파일 사이즈를 획기적으로 줄이는데 사용될 수 있습니다.
Kuesa 는 여기에 설명되어있는 KHR_draco_mesh_compression glTF 익스텐션을 사용합니다.
기본적으로 Kuesa는 Draco library의 자체 임베디드 버전을 사용하여 구축됩니다. 다음 명령어로 집행가능합니다. :
qmake kuesa.pro -- --draco=qt
Draco에 대한 지원 없이 Kuesa를 구축하기 위해서는, 다음과 같이 run qmake 하십시오:
qmake kuesa.pro -- --draco=no
외부 버전의 Draco를 이용해 Kuesa를 구축하기 위해서는, 다음과 같이 run qmake 하십시오:
qmake kuesa.pro -- --draco=system
Draco가 여러분의 시스템에서 기본 위치에 설치되어 있지 않다면, DRACOSDK 환경 변수를 Draco가 설치된 위치로 지정 할 수 있습니다. DRACOSDK_LIBS 환경 변수를 Draco 라이브러리를 포함한 폴더로 지정하십시오. 참고로, Kuesa는 8833cf878e6fd43c5a3fd6e4231212e25e25e632 커밋의 Draco를 마지막으로 테스트하였습니다. Kuesa와 함께 제공되는 glTF 에디터는 Draco를 이용하여 기존의 glTF 2.0 에셋을 압축할 수 있습니다.
Kuesa는 Draco mesh compression library를 선택적으로 사용할 수 있으며, 임베디드 버전 혹은 시스템에 present되는 버전으로 사용할 수 있습니다. Draco는 glTF 파일 사이즈를 획기적으로 줄이는데 사용될 수 있습니다.
Kuesa 는 여기에 설명되어있는 KHR_draco_mesh_compression glTF 익스텐션을 사용합니다.
기본적으로 Kuesa는 Draco library의 자체 임베디드 버전을 사용하여 구축됩니다. 다음 명령어로 집행가능합니다. :
qmake kuesa.pro -- --draco=qt
Draco에 대한 지원 없이 Kuesa를 구축하기 위해서는, 다음과 같이 run qmake 하십시오:
qmake kuesa.pro -- --draco=no
외부 버전의 Draco를 이용해 Kuesa를 구축하기 위해서는, 다음과 같이 run qmake 하십시오:
qmake kuesa.pro -- --draco=system
Draco가 여러분의 시스템에서 기본 위치에 설치되어 있지 않다면, DRACOSDK 환경 변수를 Draco가 설치된 위치로 지정 할 수 있습니다. DRACOSDK_LIBS 환경 변수를 Draco 라이브러리를 포함한 폴더로 지정하십시오. 참고로, Kuesa는 8833cf878e6fd43c5a3fd6e4231212e25e25e632 커밋의 Draco를 마지막으로 테스트하였습니다. Kuesa와 함께 제공되는 glTF 에디터는 Draco를 이용하여 기존의 glTF 2.0 에셋을 압축할 수 있습니다.
구성요소
Kuesa Runtime은 다음사항으로 구성되어있습니다. :
Kuesa Runtime은 다음사항으로 구성되어있습니다. :
- 코어 클래스로 구성된 Qt 모듈
- QML 플러그
- 카메라와 애니메이션을 선택할 수 있는 glTF 2.0 프리뷰 기능을 제공하는 gltfViewer 툴
설치
Kuesa는 하나의 Qt 모듈로 구축되는 것이며, Qt 설치가 동반되어야 합니다. 가장 큰 장점은 일단 설치하면 여러분의 프로젝트에서 Kuesa를 사용하는 것이 여러분의 프로젝트 파일에 Qt + = kuesa를 추가하는 것만큼 간단하다는 것입니다. 단점은, 아직 Qt 자체를 구축하는데 익숙하지 않다면 소스상에 Kuesa를 구축하는 것이 조금 더 복잡할 수 있다는 것입니다.
Note : Qt를 소스에서부터 구축할 필요는 없습니다. 사전 설치 Qt 버전에서도 Kuesa 구축이 잘 이루어질 것입니다.
그러나 모듈을 구축한다는 것은, 즉, Kuesa가 소스에서 Qt를 구축할 때 적용되는 것과 유사한 종속성을 가지고 있다는 것을 의미합니다. (Qt를 소스에서부터 구축하는 방법은 여기에서 확인하실 수 있습니다.) 자세한 내용은 아래와 같습니다. :
qmake
make
make install
examples는 빌드되지 않아야 합니다. 다음을 시도해보세요:
make sub-examples
cd examples
make install
Qt Creator 템플릿을 설치하려면, tools/qtc_templates 의 전체 kuesa 폴더를 Qt Creator 설치 위치내 templates/wizards 폴더로 복사하세요.
Kuesa는 하나의 Qt 모듈로 구축되는 것이며, Qt 설치가 동반되어야 합니다. 가장 큰 장점은 일단 설치하면 여러분의 프로젝트에서 Kuesa를 사용하는 것이 여러분의 프로젝트 파일에 Qt + = kuesa를 추가하는 것만큼 간단하다는 것입니다. 단점은, 아직 Qt 자체를 구축하는데 익숙하지 않다면 소스상에 Kuesa를 구축하는 것이 조금 더 복잡할 수 있다는 것입니다.
Note : Qt를 소스에서부터 구축할 필요는 없습니다. 사전 설치 Qt 버전에서도 Kuesa 구축이 잘 이루어질 것입니다.
그러나 모듈을 구축한다는 것은, 즉, Kuesa가 소스에서 Qt를 구축할 때 적용되는 것과 유사한 종속성을 가지고 있다는 것을 의미합니다. (Qt를 소스에서부터 구축하는 방법은 여기에서 확인하실 수 있습니다.) 자세한 내용은 아래와 같습니다. :
- perl이 반드시 설치되어있어야하고 PATH에 포함되어 있어야합니다.
- Kuesa를 github에서 아카이브 형식으로 다운로드했다면, kuesa 소스 디렉토리의 루트에 빈 .git 폴더를 생성해야합니다.
qmake
make
make install
examples는 빌드되지 않아야 합니다. 다음을 시도해보세요:
make sub-examples
cd examples
make install
Qt Creator 템플릿을 설치하려면, tools/qtc_templates 의 전체 kuesa 폴더를 Qt Creator 설치 위치내 templates/wizards 폴더로 복사하세요.
3rd-party
Kuesa 는 아래의 3rd-party 소프트웨어를 사용합니다. :
Kuesa 는 아래의 3rd-party 소프트웨어를 사용합니다. :
- LGPLv3 라이센스를 취득한 Qt 5.12 혹은 그 이상 버전, www.qt.io
- Apache License 2.0 라이센스를 취득한, 혹은 Google Inc에 의해 저작된, Draco https://github.com/google/draco
- Morten S. Mikkelsend에 의해 저작되었고 커스텀 라이센스를 취득한, MikkTSpace http://mmikkelsen3d.blogspot.com/
파이썬 바인딩
PySide 2를 기반으로 한 파이썬 바인딩을 구현할 수 있습니다. src/python내의 개발안내 내용과 examples/kuesa/python내의 샘플 애플리케이션을 확인하십시오.
PySide 2를 기반으로 한 파이썬 바인딩을 구현할 수 있습니다. src/python내의 개발안내 내용과 examples/kuesa/python내의 샘플 애플리케이션을 확인하십시오.