2026-03-16 03:49:43 -04:00
2026-03-15 22:03:30 -04:00
2026-03-16 03:49:43 -04:00
2026-03-16 03:49:43 -04:00
2026-03-16 00:22:49 -04:00
2026-03-16 00:22:49 -04:00
2026-03-16 00:22:49 -04:00
2026-03-15 22:03:30 -04:00

VR Model Viewer

Interactive 3-D model viewer built with OpenSceneGraph and Assimp.
Designed for inspecting PMX (MikuMikuDance), FBX, OBJ and other model formats.

Dependencies (already installed on Gentoo)

Library Gentoo package
OpenSceneGraph ≥ 3.6 dev-games/openscenegraph
Assimp ≥ 5.0 media-libs/assimp
CMake ≥ 3.16 dev-build/cmake
GCC / Clang (C++17) sys-devel/gcc

Build

# From the project root:
cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build build --parallel $(nproc)

Or inside VSCodium press Ctrl+Shift+BConfigure + Build.

Run

./build/VRModelViewer path/to/model.pmx
# or
./build/VRModelViewer path/to/model.fbx

Controls

Input Action
LMB drag Orbit camera
MMB drag Pan
Scroll Zoom (dolly)
R Reset camera to default humanoid view
F / Space Frame whole scene
S Toggle stats overlay (FPS, draw calls)
Esc Quit

Project structure

vr_model_viewer/
├── CMakeLists.txt
├── include/
│   ├── Application.h       # Top-level app / viewer owner
│   ├── ModelLoader.h       # Assimp → OSG conversion
│   ├── SceneBuilder.h      # Grid, axes, lights helpers
│   └── OrbitManipulator.h  # Tweaked orbit camera
├── src/
│   ├── main.cpp
│   ├── Application.cpp
│   ├── ModelLoader.cpp
│   ├── SceneBuilder.cpp
│   └── OrbitManipulator.cpp
└── assets/
    └── models/             # drop your .pmx / .fbx files here

Roadmap

  • Phase 1 Basic render pipeline + PMX/FBX loading
  • Phase 2 Model placement & transform gizmos
  • Phase 3 Bone / pose inspector
  • Phase 4 ImGui UI panel
  • Phase 5 VR headset integration (OpenXR)
Description
No description provided
Readme 117 KiB
Languages
C++ 96.5%
GLSL 2.5%
CMake 1%