Ogre Procedural is a procedural geometry generation library, targeted at Ogre3D
Autor: Mikachu (Michael Broutin)
Licence: MIT License
Existing features in current release (0.2):
- Primitives : Box, RoundedBox, Plane, Sphere, IcoSphere, Cylinder, Tube, Capsule, Cone, Torus and Torus knot
- Smooth splines by Bézier Curves (also usable for extrusion)
- Constructive solid geometry in 2D
Planned / not yet in the official release:
- A plug-in for the scene editor Ogitor
- SVG import (currently without Bézier import)
- OpenStreetMap data import
- Object description by XML file (as alternative to source code)
Downloads are available in the download section of the project page.
Precompiled binaries are provided for Visual Studio 9,10,11 and for MingW : here for the stable release, and there for nightly builds.
Source package is also available for all platforms (CMake based project files)
Create a sphere:
#include "Procedural.h" Procedural::SphereGenerator().setRadius(5.f).setUTile(.5f).realizeMesh("mySphere"); mSceneMgr->createEntity("mySphere");
Create a pipeline:
Procedural::Path p = Procedural::BezierPath().addPoint(0,5,0).addPoint(0,4,10).addPoint(10,5,10).close().realizePath(); Procedural::Shape s = Procedural::CircleShape().setRadius(1.5).realizeShape(); Procedural::Extruder().setExtrusionPath(&p).setShapeToExtrude(&s).realizeMesh("extrudedMesh");
This example shows how to create a shape by a vector graphic application and how to use it for extruding.
Create SVG shape (e.g. with Inkscape):
Load the shape and define a path:
// load inkscape .svg file into a shape: Shape shape = Shape(); shape.loadFromSVG("inkscape-test.svg", "path2985"); // construct the spline we want to extrude along: CatmullRomSpline3 pp; pp.addPoint(0,-5,0).addPoint(50,-5,250).addPoint(500,-5,500).setNumSeg(10); Path line = pp.realizePath(); // extruder and mesh generation putMesh(shape.realizeMesh()); putMesh(line.realizeMesh(),1); Extruder e; putMesh(e.setShapeToExtrude(&shape).setExtrusionPath(&line).realizeMesh(),1);
How to build
This is a list of basic steps to compile ogre-procedural from source.
- Install Cmake
- Install Ogre, either from source or precompiled SDK (1.7 or 1.8)
- If you are using MS Windows, make sure that there's an evironnement variable OGRE_HOME set to your ogre SDK directory
Compiling and running the sample:
- Generate project files using Cmake
- Compile, run, and enjoy ...
- Project page on code.google
- Ogre Addons subforum
- Original forum topic (locked)
- GeometricMesh - Creating various geometric/geodesic shapes
- Mogre Procedural Geometry Library - A C# port for Mogre