osgverse  by xarray

Advanced 3D engine solution

Created 3 years ago
456 stars

Top 65.4% on SourcePulse

GitHubView on GitHub
Project Summary

osgVerse is a comprehensive 3D engine solution built upon OpenSceneGraph, designed to provide a flexible and high-performance rendering framework. It targets developers needing cross-platform compatibility, supporting multiple graphics backends including OpenGL, Vulkan, DirectX, Metal, and WebAssembly for browser deployment, offering advanced features like PBR rendering and physics integration.

How It Works

The engine extends OpenSceneGraph with modern rendering techniques, including a PBR-based deferred pipeline with real-time shadowing and lighting. It achieves broad platform and hardware compatibility by supporting multiple graphics API backends (OpenGL, GLES, Vulkan, DirectX, Metal) and compiling to WebAssembly for browser use. This multi-backend approach, combined with optimizations for various hardware, allows for consistent rendering across diverse environments.

Quick Start & Requirements

Building osgVerse from source is the primary method, supported by shell scripts (Setup.sh/Setup.bat) or traditional CMake. Key requirements include CMake (3.0+), a C++14 compliant compiler, and OpenSceneGraph (3.1.1+). Significant optional dependencies include SDL2, Google Angle, Emscripten SDK, NVIDIA CUDA, Bullet3, osgEarth, and others, which often require manual compilation and setup. The build process can be complex due to the number of external libraries.

Highlighted Details

  • Multi-API Backend Support: Renders via OpenGL, OpenGL ES, Vulkan, DirectX, and Metal, with Google Angle bridging low-level APIs.
  • WebAssembly/Browser Deployment: Compiles to WASM for WebGL 1/2 support in modern browsers.
  • Advanced Rendering: Features PBR materials, deferred rendering pipeline, real-time shadowing, and support for GLSL 1.2 to 4.6.
  • Integrated Physics & Animation: Includes physics simulation via Bullet3/PhysX and character animation via OZZ.
  • 3D Gaussian Splatting: Supports rendering of 3D Gaussian Splatting data formats.
  • Data & Streaming: Offers database plugins (LevelDB, MBTiles) and media streaming (RTSP, WebRTC).

Maintenance & Community

The README does not provide specific details on community channels (e.g., Discord, Slack), active maintainers, or recent development activity beyond feature lists.

Licensing & Compatibility

The project's license is not explicitly stated in the provided README. This absence is a critical factor for evaluating commercial use or integration into proprietary projects.

Limitations & Caveats

iOS support is currently marked as "coming soon." GPU-accelerated video decoding is only "partly" supported. A visual scene editing tool, comparable to Unity Editor, is listed as "TBD" (To Be Determined). The build process is complex, requiring careful management of numerous third-party dependencies and their configurations. The lack of a clearly stated open-source license presents a significant adoption blocker and compatibility concern.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
1
Star History
111 stars in the last 30 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Luis Capelo Luis Capelo(Cofounder of Lightning AI), and
6 more.

threestudio by threestudio-project

0.0%
7k
Framework for 3D content generation from text/images using 2D diffusion
Created 3 years ago
Updated 1 year ago
Feedback? Help us improve.