Another generated model

October 8, 2008 by proceduralmodeling

L-system generated with:

0.5
0.7
4
15
L
2
L
L/R+
R
L+FR
2
L
F
R
F

Generated algebra

October 3, 2008 by proceduralmodeling

It is now possible to generate an algebra from a grammar: For example this grammar
5
45
L
2
L
L\RFF++F
R
RFL//F^RL
2
R
F
L
F

Generates the algebra:
FFFF++FFFF//F^FFFFF//F^FFFFFF++FFFF//F^FFFFFF++FFFF//F^FFFFFF++FFFF//F^FFFFFF++FFFFF++FFFF//F^FFFFF//F^FFFFFF++FFFF//F^FFFFFF++FFFFF++FFFF//F^FFFFF//F^FFFFFF++FFFF//F^FFFFFF++FFFFF++FFFF//F^FFFFF//F^FFFFFF++FFFF//F^FFFFFF++FFFFF++FFFF//F^FFFFFF++FFFF//F^FFFFF//F^FFFFFF++FFFF//F^FFFFFF++FFFF//F^FFFFFF++FFFF//F^FFFFFF++FFFFF++FFFF//F^FFFFF//F^FFFFFF++FFFF//F^FFFFFF++FFFFF++FFFF//F^FFFFFF++FFFF//F^FFFFF//F^FFFFFF++FFFF//F^FFFFFF++F

Which generates a model which subdivided once has the size 1720.16KB

Turtle algebra

October 1, 2008 by proceduralmodeling

Turtle algebra for 3d L-system is now done. This is the model “F1.0+1.7F1.0^0.1-0.1F1.0\1.0F3.0\6.0F0.1//1.0F0.5″ subdivided a few times.

Subdivision optimized

September 19, 2008 by proceduralmodeling

I have optimized loop subdivision. The grouping of half edges had complexity about O(n^2) and it was possible to optimize it to O(1). The result was “i3.0ssr1.5ssssss” which was generated in 16 seconds, with a total of eight subdivisions. 92160KB of vertex and normal data.

Subdivision fixed

September 18, 2008 by proceduralmodeling

Loop subdivision is now fixed and this is the result (i3.0sss – an icosahedron subdivided three times):

Icosahedron

September 17, 2008 by proceduralmodeling

Icosahedron is now implemented as a basic primitive. Now all platonic solids except Dodecahedron is available.

Octahedron

September 12, 2008 by proceduralmodeling

I have now implemented the basic primitive octahedron. Here is a screen shot from the generated model “o5.1sssr1.5s”, which means octahedron with size 5.1->subdivide->subdivide->subdivide->vertex displacement with 1.5 times half distance between vertices->subdivide.

Ray/sphere intersection and model description

September 11, 2008 by proceduralmodeling

Today I have started to mess with ray/sphere intersection test to be able to decide if an icon is clicked or not. I have used Ritters simple algorithm for this which is presented in the book Real Time Rendering. It does not work as I want yet.

I have used boost::regex to implement a simple string description of a model.

Subdivision

September 8, 2008 by proceduralmodeling

Now loop subdivision have been implemented as well as the basic primitives box and tetrahedron. I have also created a simple vertex randomizer. The next step is to improve the randomization.

Blog initiated

September 1, 2008 by proceduralmodeling

Now the blog is initiated. Here I will present progress of my Master Thesis about procedural modeling.