# [Open source project] Voxel based mesh generator

This topic is 1916 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Hi,
I want to introduce a new open source tool and I hope that this is the right forum. [url="http://code.google.com/p/v-baum/"]vBaum[/url] is a voxel based generator for procedural geometry. vBaum stands for "voxel-Baum", which means "voxel-tree" in english. This primaly relates to the underlying data structure, but we also plan to generate tree meshes with it later. The core algorithms are written in C++ for maximum performance. It supports various geometric figures, noise, splines, boolean operations, extrusion and more. The created geometry can be exported in the .obj and .stl file formats using the marching cubes algorithm and smoothing. A python interface is provided that enables users to quickly construct arbitrary geometry. Let me give an example:
This was created with vBaum (notice the self intersection) and rendered in Ogre. It was created with the following python script:
[code]#!/bin/python
from vBaum import *
from math import *
scale = 5
splinePoints = [Vector3(0,5,0)*scale,
Vector3(3,4,20)*scale,
Vector3(10,5,25)*scale,
Vector3(20,15,15)*scale,
Vector3(25,15,0)*scale,
Vector3(5,5,0)*scale,
Vector3(-10,-10,5)*scale,
Vector3(-10,25,10)*scale,
Vector3(20,-5,10)*scale,
Vector3(16,5,-10)*scale]

spline = Spline(splinePoints, True) #create a closed spline from the points
knot = spline.extrude(Sphere(20)) #this will thicken the spline, creating a torus knot
knot.exportAsObj("knot", 50) #file will be names knot.obj and a smooth with 50 iterations will be applied
[/code]
The next example is a bit more complex but the [url="http://code.google.com/p/v-baum/source/browse/Python/brain.py"]python script[/url] still has less than 80 lines. The mesh was rendered with Blender:
The next example shows that vBaum can also be used to generate less abstract objects. It was rendered using Ogre:

Usage: For windows 64 bit users we provide a [url="http://code.google.com/p/v-baum/downloads/detail?name=vBaumWin64Python3.zip"]precompiled binary[/url] along with some example scripts, in this case you only need python 3 to get started. If you want to build vBaum from [url="http://code.google.com/p/v-baum/source/checkout"]source[/url] you need boost (because of boost::python) and the corresponding python version. vBaum was developed, compiled and tested under both windows and linux. Side note: The C++ implementation was developed by me and a friend in only one week of coding fun, so you will not find many commentaries. [img]http://public.gamedev.net//public/style_emoticons/default/tongue.png[/img] You can find some background information [url="http://code.google.com/p/v-baum/wiki/Concepts"]here[/url]. If you create something cool using vBaum please post some screenshots!
Known issues:[list]
[*]Spline creation sometimes leads to an endless loop. However this problem occured rarely, we are looking into it. Our provided example scripts should run fine.
[*]Memory consumption: Creating large geometry can lead to memory and performance problems. We spent a lot of time optimising it, but it is still not perfect.
[/list]

##### Share on other sites
[quote]
C:\Python33>python knot.py
Traceback (most recent call last):
File "knot.py", line 2, in <module>
from vBaum import *
ImportError: DLL load failed: %1 is not a valid Win32 application.
[/quote]

ummm

##### Share on other sites
[quote name='MrOMGWTF' timestamp='1350729532' post='4992100']
[quote]
C:\Python33>python knot.py
Traceback (most recent call last):
File "knot.py", line 2, in <module>
from vBaum import *
ImportError: DLL load failed: %1 is not a valid Win32 application.
[/quote]

ummm
[/quote]

Looks like the pre-compiled binary is 64-bit, but your python is only 32-bit.

@LordOfTheBytes: Looks pretty cool, I'm going to check it out. Edited by JTippetts

##### Share on other sites
[quote name='JTippetts' timestamp='1350744171' post='4992162']
[quote name='MrOMGWTF' timestamp='1350729532' post='4992100']
[quote]
C:\Python33>python knot.py
Traceback (most recent call last):
File "knot.py", line 2, in <module>
from vBaum import *
ImportError: DLL load failed: %1 is not a valid Win32 application.
[/quote]

ummm
[/quote]

Looks like the pre-compiled binary is 64-bit, but your python is only 32-bit.

@LordOfTheBytes: Looks pretty cool, I'm going to check it out.
[/quote]

Yep. That solved the problem
Thanks!