This repository is being structured toward a Blender-driven cell visualizer. Phase 1 establishes the runtime skeleton:
- modular C++ layout (
core,render,scene,assets,math) - OpenGL render loop with GLFW + GLAD
- basic orbit camera controls
- placeholder model-loader interface for future Blender
.glb/.gltfimport
src/
main.cpp
core/
Application.h
Application.cpp
render/
Renderer.h
Renderer.cpp
scene/
Camera.h
Camera.cpp
assets/
ModelLoader.h
ModelLoader.cpp
math/
Math.h
- Windows
- CMake 3.16+
- MinGW-w64 (GNU
gcc/g++) - OpenGL 3.3-capable GPU/driver
- GLFW, either:
- installed package that provides CMake target
glfworglfw3, or - local source tree passed via
-DGLFW_SOURCE_DIR=...
- installed package that provides CMake target
GLAD is vendored in external/glad.
Use a dedicated build directory such as build-mingw if you previously configured with a different generator (for example, NMake).
cmake -S . -B build-mingw -G "MinGW Makefiles" -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DGLFW_SOURCE_DIR=C:/glfw
cmake --build build-mingw -jcmake -S . -B build-mingw -G "MinGW Makefiles" -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
cmake --build build-mingw -jIf CMake cannot resolve GLFW, it fails with instructions to set GLFW_SOURCE_DIR or install GLFW.
.\build-mingw\app.exe-
gccorg++not found:- Ensure MinGW is installed and on
PATH. - Check with:
gcc --version g++ --version mingw32-make --version
- Ensure MinGW is installed and on
-
CMake generator mismatch error (
Does not match the generator used previously):- Use a fresh build directory:
cmake -S . -B build-mingw -G "MinGW Makefiles" -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
- Or remove old cache files in the existing build directory (
CMakeCache.txtandCMakeFiles/).
- Use a fresh build directory:
-
GLFW not found:
- Pass your GLFW source checkout explicitly:
cmake -S . -B build-mingw -G "MinGW Makefiles" -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DGLFW_SOURCE_DIR=C:/glfw
- Confirm
C:/glfw/CMakeLists.txtexists.
- Pass your GLFW source checkout explicitly:
-
mingw32-makenot found:- If using MSYS2 UCRT64, use:
cmake --build build-mingw -j
- Or call the tool directly if needed:
mingw32-make -C build-mingw
- If using MSYS2 UCRT64, use:
-
App fails to start due to missing runtime DLLs:
- Build from the same shell/environment where MinGW is available (for example MSYS2 UCRT64 shell), or add required runtime DLL directories to
PATH.
- Build from the same shell/environment where MinGW is available (for example MSYS2 UCRT64 shell), or add required runtime DLL directories to
- Left / Right: orbit camera
- Up / Down: zoom
- Esc: close app
- implement real
.glb/.gltfimport path insrc/assets/ModelLoader.cpp - replace placeholder geometry with imported meshes
- add scene graph + material pipeline for organelles and membranes