Flagship scientific visualization projects focused on deterministic, performant pipelines bridging OVITO/LAMMPS data to Blender for real-time inspection and production-grade rendering.
Scientists need physically faithful previews and stable renders. We avoid re-simulation inside Blender: we ingest ground-truth positions from OVITO/LAMMPS, instance geometry via Geometry Nodes, and—when rendering—use point caches (PC2/Alembic) for deterministic playback.
projects/ └─ ovito-blender-visualizer/ # OVITO/LAMMPS dump → Blender GN instancing + PC2/Alembic bake docs/ └─ media/ # demo GIFs and gallery stills
- Real-time viewport playback from multi-frame dumps.
- Render-safe determinism via PC2/Alembic + Mesh Cache (Time Mode = FRAME).
- Geometry Nodes instancing: replace the atom prototype with any object (spheres, icosahedra, molecules).
- Shape/scale control per instance; optional filtering by LAMMPS
type. - Cycles-ready: supports motion blur (enable Deformation MB), metal backend stability notes for macOS.
- Production hygiene: pre-commit (
black,flake8), protectedmain, CODEOWNERS, CI hooks.
- Open Blender 3.6+.
- Load
projects/ovito-blender-visualizer/script into the Text Editor. - Set your dump path (LAMMPS/OVITO). Run the script.
- Replace
Atom_Protowith your own prototype object if desired; adjust atom scale in GN. - Viewport: press Play. Render: bake to PC2/Alembic and attach Mesh Cache for deterministic frames.
- PC2 (Point Cache 2) is a per-frame binary cache of vertex positions. It removes Python/handlers from the render loop.
- Use Alembic as an alternative (interchange, stable on DCCs).
- Recommended render path:
- Generate carrier mesh (N vertices = N particles).
- Bake PC2/Alembic.
- Attach Mesh Cache (Time Mode = FRAME).
- Keep GN after Mesh Cache to instance the prototype at baked positions.
- Large systems → prefer PC2/Alembic for render.
- Lower GN draw cost using simpler prototypes (e.g., low-poly spheres).
- If using GIFs in docs, keep ≤ 10–20 MB (decimate frames, 12 fps, 480–360 px, limited palette).
- Branch from
main, push feature branches, open PRs. - Linting:
pre-commit run --all-files. - Protected
main: at least 1 CODEOWNER review required.
MIT. See LICENSE.
Inspired by OVITO and Blender communities; tailored for scientific graphics pipelines.
