QT로 cad를 구현해보려고 하는데, 레퍼런스가 될 코드를 찾아보자.
3d cad 소스코드 찾기
https://github.com/AntonioGE/JModelling
오 이건 정말 모델링 툴같은 느낌이고 기본적인 변형을 할 수 있도록 기능 구현이 되어있다고 한다.
다만 기본 java로 짜여있기 때문에 읽고 이해하고 C++로 변형하는게 좀 애먹을 것 같다.
https://github.com/tigi44/Gizmo3DGraphicTool
한국인이 개발한 opengl MFC로 만든 cad 툴이다.
정말 잘 만든 것 같다. MFC이기 때문에 QT로 개발할 때 참고하기에도 좋을 것 같다.
mesh를 조작하는 기능은 없는게 좀 아쉽다.
더 찾아봐도 괜찮은데, 위 두개만 제대로 보더라도 좋다.
확실히 CAD라는 느낌을 주려면 mesh를 수정하는 작업이 추가되는게 좋을 것 같다.
Gizmo3DGraphicTool 프로젝트 실행
일단 MFC를 설치하고,
자꾸 glext.h 에러가 떠서 stdafx.h 사전 컴파일 헤더를 사용하지 않는걸로 바꿨다.
이번에는 lib를 읽지 못한다.
경로 문제인 것 같아서, 경로를 $(SolutionDir)기준으로 변경했더니.
처음보는 에러이다.
이걸 아니요로 바꿔보라는데...
빌드는 성공했지만, 실행은 안된다...
키워드
CAD라는 이름으로는 안나올 수도 있다.
modeler 라는 키워드로도 오픈소스를 찾아보자.
흠.. 적당한게 없는데 아이디어가 생각났다.
sculpting, mesh cutting, subdivision 등등?
https://github.com/khanhha/digital_sculpting
적당한 기능이 들어있는 프로젝트를 발견했다.
심지어는 qt로 되어있어서 보고 공부하기도 좋다.
https://github.com/DavidRaschidLabiakhTrue/GummySculpting
이것도 불과 2년에 개발하던 opengl sculpting 프로젝트인데,
사진도 설명도 아무것도 없어서 잘 되는지 모르겠다.
현실적으로 빠르게 할 수 있는 것을 채택해야하니,
개인적으로는 한국인이 만든 Gizmo3DGraphicTool 프로젝트를 보고 구현해보는게 좋을 것 같다.
java로 되어있는 건 어떻게 실행해야할지 모르겠다.
기본적으로 java를 멀리하고 살아서, 살면서 java를 써본 적이 딱 한 번이다.
GummySculpting 프로젝트 실행
의외이다.. 아무런 readme 설명이 없어서 기대안했는데.
바로 빌드되서 실행이 된다..ㄷㄷ
심지어는 sculpting 기능이 구현되어있다.
보아하니 gui 기능은 모두 imgui로 구현되어있다.
이 프로젝트 코드를 보고 QT로 재구현할 수 있다면 정말 좋을 것 같다.
기능하나하나 테스트를 해봤는데,
inflate, tessellation, subdivide, decimation 등 기능들이 너무 잘 실행된다.
너무 신기하다.
'개발 · 컴퓨터공학' 카테고리의 다른 글
OpenMesh Class List 에서 기능 찾기 (5) | 2024.10.28 |
---|---|
opengl Qt 2D Paint 오픈소스 찾기 (9) | 2024.10.27 |
mesh의 manifold에 대해 (6) | 2024.10.22 |
Half Edge Data Structure (4) | 2024.10.22 |
Qt Creator 멤버변수 자동생성 (5) | 2024.10.22 |