F3D is a fast, minimalist 3D viewer and rendering library (libf3d) built on VTK, providing both a desktop application and a reusable C++ library with bindings for C, Python, Java, and WebAssembly. It loads and interactively visualizes dozens of 3D file formats (glTF, USD, STEP, STL, OBJ, FBX, etc.) through a plugin architecture. The application offers a rich CLI, interactive console, configurable rendering options, animations, and scientific visualization features like volume rendering, scalar coloring, and point clouds. The library exposes a clean public API (engine, scene, window, camera, interactor, options) that can be embedded in other applications or used for offscreen rendering. The codebase demonstrates strong engineering: modular plugin system, extensive test suite (including pixel comparison and event recording), cross-platform support, and thorough documentation. Its architecture separates concerns cleanly between application layer, library, VTK extensions, and plugins, making individual components potentially reusable in other VTK-based projects.
OpenMoonRay is an open-source, production-grade path-tracing renderer developed by DreamWorks Animation and hosted under the Academy Software Foundation (ASWF). It is designed for feature film and VFX pipelines, supporting CPU and hybrid GPU (XPU) rendering, physically based materials, and integration with USD-based digital content creation tools via a Hydra render delegate. The system is composed of approximately 20 interconnected submodules covering core rendering, scene representation (RDL2), shaders (Moonshine), distributed computation (Arras), denoising, and more. Key entry points include the `moonray` CLI, `hd_render` for Hydra, `arras_render` for distributed rendering, and a Qt-based GUI (`moonray_gui`). The architecture is modular: the root repository orchestrates builds, provides test data, and houses build scripts and CI configurations, while the actual rendering logic resides in submodules. External dependencies include USD, OpenVDB, Embree, OpenImageDenoise, MaterialX, and Qt5, many of which require local patches for compatibility. The project is actively maintained with regular TSC meetings, CI workflows for Linux and macOS, and a growing open-source community.