Skip to main content

History: Ogre Procedural Geometry Library

Preview of version: 24

click to enlarge
click to enlarge
click to enlarge
click to enlarge

Ogre Procedural is a procedural geometry generation library, targeted at Ogre3D

Autor: Mikachu (Michael Broutin)
Licence: MIT License

Source code and downloads you find on the project page.
Documentation : User Manual and API Reference
If you have questions, ask in the forum.

Features


Existing features in current release (0.2):

  • Primitives : Box, RoundedBox, Plane, Sphere, IcoSphere, Cylinder, Tube, Capsule, Cone, Torus and Torus knot
  • Extrusion
  • Lathe
  • Triangulation
  • 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)


Screenshots

Rendering of openstreetmap XML data
Rendering of openstreetmap XML data
click to enlarge
click to enlarge


Download


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)

Usage Examples


Create a sphere:

Copy to clipboard
#include "Procedural.h" Procedural::SphereGenerator().setRadius(5.f).setUTile(.5f).realizeMesh("mySphere"); mSceneMgr->createEntity("mySphere");


Create a pipeline:

Copy to clipboard
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");

Advanced example


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):
ScreenShot_OgreProcedural_3a

Load the shape and define a path:
ScreenShot_OgreProcedural_3b

Extrude:
ScreenShot_OgreProcedural_3c

Copy to clipboard
// 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);



See also

History

Information Version
Sat 14 of Mar, 2020 13:36 GMT-0000 paroj 25
Mon 04 of Dec, 2017 16:43 GMT-0000 paroj 24
Mon 04 of Dec, 2017 16:42 GMT-0000 paroj 23
Mon 06 of Jan, 2014 10:23 GMT-0000 Beauty updated link for Mogre port, because now it has its own wiki page 22
Sat 04 of Jan, 2014 10:05 GMT-0000 Beauty added link for Mogre port 21
Tue 05 of Feb, 2013 11:34 GMT-0000 simedj 20
Tue 05 of Feb, 2013 11:33 GMT-0000 simedj Added sub-forum link 19
Fri 22 of Jun, 2012 07:24 GMT-0000 mikachu 18
Sun 21 of Aug, 2011 21:49 GMT-0000 Beauty added OpenStreetMap feature 17
Sun 21 of Aug, 2011 18:22 GMT-0000 Beauty tiny image improvements 16
Sun 21 of Aug, 2011 16:25 GMT-0000 duststorm 15
Sun 21 of Aug, 2011 15:32 GMT-0000 duststorm 14
Sun 21 of Aug, 2011 03:04 GMT-0000 jacmoe 13
Sun 21 of Aug, 2011 03:01 GMT-0000 jacmoe 12
Sun 21 of Aug, 2011 03:00 GMT-0000 jacmoe 11
Sun 21 of Aug, 2011 01:20 GMT-0000 Beauty added advanced example with screen shots 10
Sun 21 of Aug, 2011 00:29 GMT-0000 Beauty extented feature list 9
Tue 09 of Aug, 2011 14:51 GMT-0000 saftschachtel Changed the "generate" to "realizeMesh" because "generate"-function does not exist (anymore). 8
Tue 09 of Aug, 2011 14:49 GMT-0000 saftschachtel 7
Sat 05 of Mar, 2011 20:47 GMT-0000 Beauty added link ((GeometricMesh)) 6
Wed 12 of Jan, 2011 11:31 GMT-0000 Beauty improved display style for enlarging images 5
Wed 12 of Jan, 2011 11:03 GMT-0000 Beauty bugfix for good picture display in Internet Explorer 4
Tue 11 of Jan, 2011 12:35 GMT-0000 Beauty added screenshots 3
Tue 11 of Jan, 2011 12:15 GMT-0000 Beauty added new example 2
Mon 10 of Jan, 2011 12:58 GMT-0000 Beauty NEW PAGE 1