개발 · 컴퓨터공학

OpenGL 3D CAD 오픈소스 찾아보기

2024. 10. 26. 11:27
728x90
반응형

 

QT로 cad를 구현해보려고 하는데, 레퍼런스가 될 코드를 찾아보자. 

 

3d cad 소스코드 찾기 

https://github.com/AntonioGE/JModelling

 

GitHub - AntonioGE/JModelling: Java OpenGL 3D modelling tool (under development)

Java OpenGL 3D modelling tool (under development). Contribute to AntonioGE/JModelling development by creating an account on GitHub.

github.com

오 이건 정말 모델링 툴같은 느낌이고 기본적인 변형을 할 수 있도록 기능 구현이 되어있다고 한다.

다만 기본 java로 짜여있기 때문에 읽고 이해하고 C++로 변형하는게 좀 애먹을 것 같다.

 

 

https://github.com/tigi44/Gizmo3DGraphicTool

 

GitHub - tigi44/Gizmo3DGraphicTool: mfc + opengl Gizmo 3D Tool

mfc + opengl Gizmo 3D Tool. Contribute to tigi44/Gizmo3DGraphicTool development by creating an account on GitHub.

github.com

한국인이 개발한 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

 

GitHub - khanhha/digital_sculpting: An open source digital suclpting application that provides artists with many types of digita

An open source digital suclpting application that provides artists with many types of digital brush, dynamic topology and meshing tools - khanhha/digital_sculpting

github.com

적당한 기능이 들어있는 프로젝트를 발견했다. 

심지어는 qt로 되어있어서 보고 공부하기도 좋다. 

https://github.com/DavidRaschidLabiakhTrue/GummySculpting

 

GitHub - DavidRaschidLabiakhTrue/GummySculpting: Digital Sculpting in OpenGL and Visual C++

Digital Sculpting in OpenGL and Visual C++. Contribute to DavidRaschidLabiakhTrue/GummySculpting development by creating an account on GitHub.

github.com

이것도 불과 2년에 개발하던 opengl sculpting 프로젝트인데,

사진도 설명도 아무것도 없어서 잘 되는지 모르겠다.

 

현실적으로 빠르게 할 수 있는 것을 채택해야하니, 

개인적으로는 한국인이 만든 Gizmo3DGraphicTool 프로젝트를 보고 구현해보는게 좋을 것 같다. 

 

java로 되어있는 건 어떻게 실행해야할지 모르겠다. 

기본적으로 java를 멀리하고 살아서, 살면서 java를 써본 적이 딱 한 번이다.

 

GummySculpting 프로젝트 실행

의외이다.. 아무런 readme 설명이 없어서 기대안했는데.

 

바로 빌드되서 실행이 된다..ㄷㄷ

 

심지어는 sculpting 기능이 구현되어있다. 

 

보아하니 gui 기능은 모두 imgui로 구현되어있다. 

이 프로젝트 코드를 보고 QT로 재구현할 수 있다면 정말 좋을 것 같다.

 

기능하나하나 테스트를 해봤는데, 

inflate, tessellation, subdivide, decimation 등 기능들이 너무 잘 실행된다.

너무 신기하다.

 

728x90
반응형