Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
pluggable_plants [2009-03-10 11:57] davegriffithspluggable_plants [2009-03-12 14:32] (current) davegriffiths
Line 1: Line 1:
-====Problems with L Systems====+====Pluggable Plants====
  
-  * Plant shape is entirely defined by algorithm +L Systems are the standard approach to modelling and rendering plants with computer graphics. However there are some problems with them:
-  * Geometric complexity is slow to compute and render +
-  * Somewhat difficult to control in an artistic sense+
  
-This is an alternative method where the topology of a plant is still defined by algorithm, but structural shape is defined by the texture images used as components of the plant.+  * The plant's shape is entirely defined by an algorithm 
 +  * It's somewhat difficult to control in an artistic senseparticularly the way that branches are formed. 
 +  * Geometric complexity is slow to compute and render - it would be nice to be able to deal with some of the complexity in premade textures.
  
-This also allows us to put much more detail in the textures, and build plants out of fewer components.+This is an alternative method to the standard approach of rendering L Systems, where we can still define the topology and growth of a plant by an algorithm, but the structural shape is defined by the texture images used as components of the plant. This also allows us to put much more detail in the textures, and build plants out of fewer components.
  
 ====How it works==== ====How it works====
  
-Plants are built out of components which are defined by two texture images. The first texture is the one which is rendered on screen. The second is used to define where the connection points are, indicated by black blobs - this is where child components will be connected to. These blobs can be put anywhere in the texture and are automatically located and used by the program. You will be able to put all these textures into a directory and the program will build plants for you for previewing.+Plants are built out of components which are defined by two texture images. The first texture is the one which is rendered on screen. The second is used to define where the connection points are, indicated by black blobs - this is where child components will be plugged into. These blobs can be put anywhere in the texture and are automatically located and used by the program. You will be able to put all these textures into a directory and the program will build plants for you for previewing.
  
 Each component is only allowed one place where it connects to it's parent, which is always at the bottom of the texture, in the middle. Leaves don't need connection point textures as they don't connect to any child components, but still need their parent connection point at the bottom. Each component is only allowed one place where it connects to it's parent, which is always at the bottom of the texture, in the middle. Leaves don't need connection point textures as they don't connect to any child components, but still need their parent connection point at the bottom.
Line 25: Line 25:
 {{:lollypop-05.png?300|}} {{:lollypop-05.png?300|}}
  
-A resulting lollypop tree. More work could be done on the joins between the textures, but you get the idea. You can edit the connection point textures, and rerun the program to adjust the positions of the components.+A resulting lollypop tree. More work could be done on the joins between the textures, but you get the idea. You can edit the connection point textures, and rerun the program to adjust the positions of the components.  
 + 
 +This is another example, with some better textures which take into account the joining a little better, and some scaling: 
 + 
 +{{:knobbly.png?500|}} 
 + 
 +And these are the component textures and their connection points: 
 + 
 +{{:comp-1-1.png?200|}} {{:comp-cp-1-1.png?200|}} \\ 
 +{{:comp-2-1.png?200|}} {{:comp-cp-2-1.png?200|}} \\ 
 +{{:comp-3-1.png?200|}} {{:comp-cp-3-1.png?200|}} \\ 
 +{{:comp-3-2.png?200|}} {{:comp-cp-3-2.png?200|}} \\
  
 ====Texture image format and naming convention==== ====Texture image format and naming convention====
Line 48: Line 59:
  
 Where B is the variation number again. Where B is the variation number again.
 +
  
  • pluggable_plants.1236686272.txt.gz
  • Last modified: 2009-03-10 11:57
  • by davegriffiths