Skip to content

GVett/Cell-Visualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cell Visualizer (Phase 1)

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/.gltf import

Current Layout

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

Requirements

  • Windows
  • CMake 3.16+
  • MinGW-w64 (GNU gcc/g++)
  • OpenGL 3.3-capable GPU/driver
  • GLFW, either:
    • installed package that provides CMake target glfw or glfw3, or
    • local source tree passed via -DGLFW_SOURCE_DIR=...

GLAD is vendored in external/glad.

Configure and Build (MinGW Recommended)

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 -j

Alternative: GLFW installed package (vcpkg/system)

cmake -S . -B build-mingw -G "MinGW Makefiles" -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ 
cmake --build build-mingw -j

If CMake cannot resolve GLFW, it fails with instructions to set GLFW_SOURCE_DIR or install GLFW.

Run

.\build-mingw\app.exe

Troubleshooting (MinGW)

  • gcc or g++ not found:

    • Ensure MinGW is installed and on PATH.
    • Check with:
      gcc --version
      g++ --version
      mingw32-make --version
  • 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.txt and CMakeFiles/).
  • 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.txt exists.
  • mingw32-make not found:

    • If using MSYS2 UCRT64, use:
      cmake --build build-mingw -j
    • Or call the tool directly if needed:
      mingw32-make -C build-mingw
  • 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.

Controls (Phase 1)

  • Left / Right: orbit camera
  • Up / Down: zoom
  • Esc: close app

Next Phase

  • implement real .glb/.gltf import path in src/assets/ModelLoader.cpp
  • replace placeholder geometry with imported meshes
  • add scene graph + material pipeline for organelles and membranes

About

Cellular Visualizer created in C++ w/ OpenGL

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors