A simple 3D model visualizer built with Qt6 and OpenGL.
- Introduction
- Dependencies
- Building
- Make Targets
- Installation
- Usage
- Documentation
- Testing
- Code Quality
- Memory Leaks
- License
3DViewer is a straightforward application designed to visualize 3D models using Qt6 and OpenGL. It provides a user-friendly interface for loading and viewing 3D models.
To build and run 3DViewer, you need the following dependencies:
- Qt6: Ensure that Qt6 is installed on your system.
- OpenGL: The application uses OpenGL for rendering.
- Doxygen (optional): Required for generating documentation.
- Valgrind (optional): Required for checking memory leaks.
- Clang-Format (optional): Required for code formatting.
To build the project, simply run the following command in your terminal:
make
Ensure that Qt6 is installed on your system and that the Qt binaries are included in your PATH
.
To build the project using Qt Creator, follow these steps:
- Open Qt Creator.
- Load the project file located at
src/3DViewer.pro
. - Build the project manually from within Qt Creator.
all
: Builds the application.clean
: Deletes the build files.install
: Installs the application to the directory specified in thePATH_INSTALL
variable. Warning: Do not use this target before specifying the install path.uninstall
: Removes the directory specified in thePATH_INSTALL
variable. Warning: Do not use this target before specifying the install path.dist
: Creates a distribution tar file.html
: Builds HTML documentation for the project usingdoxygen
.tests
: Builds backend tests.
gcov_report
: Generates an lcov report of the tests run.clang-format
: Applies the linter style to the code usingclang-format
.leaks
: Checks for memory leaks usingvalgrind
.
Before using the install
or uninstall
targets, ensure that you have specified the PATH_INSTALL
variable in your environment. This variable determines the installation path for the application.
Once the application is built and installed, you can run it to load and view 3D models. The interface provides options to rotate, scale, and translate the model.
To generate HTML documentation for the project, use the html
target:
make html
This will create documentation using doxygen
.
To build and run backend tests, use the tests
target:
make tests
For a detailed coverage report, use the gcov_report
target:
make gcov_report
To apply the linter style to your code, use the clang-format
target:
make clang-format
This will format your code according to the specified style guidelines.
To check for memory leaks in your application, use the leaks
target:
make leaks
This will run your application with valgrind
to detect any memory leaks.
This project is licensed under the MIT License. See the LICENSE file for more details.