Thanks Paul,<br><br><br>I tried to generate the terrain according to your suggestion, and it did work for  incremental value multiplied with the value generated by the fractals algorithm.<br><br>I was scaling the terrain that that is why the terrain looked so flat, so   rescale the normal hoping that the fractals will show up propertly. But the same flat surface without the incremental value.<br>
<br><br><br><br>Regards<br>Sajjad<br><br><br><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Paul Martz</b> <span dir="ltr"><<a href="mailto:pmartz@skew-matrix.com">pmartz@skew-matrix.com</a>></span><br>
Date: Sun, Mar 22, 2009 at 11:27 PM<br>Subject: Re: [osg-users] generate height map using fractal<br>To: OpenSceneGraph Users <<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a>><br>
<br><br>



<div>
<div dir="ltr" align="left"><span><font face="Arial" size="2">Wow. That article is like 13 years old. I think I wrote it with VC4 and 
OpenGL 1.1.</font></span></div>
<div dir="ltr" align="left"><span><font face="Arial" size="2"></font></span> </div>
<div dir="ltr" align="left"><span><font face="Arial" size="2">As a debugging technique, try to separate the heightfield population 
algorithm from the rendering issue. For example, try populating the heightfield 
with an array of linearly increasing values and see if it renders as you would 
expect. If it still renders wrong, then you know the fractal algorithm isn't to 
blame and the problem is probably with how you are using OSG. As a result, 
you'll have a much simpler example to post here.</font></span></div>
<div dir="ltr" align="left"><span><font face="Arial" size="2"></font></span> </div>
<div dir="ltr" align="left"><span><font face="Arial" size="2">I'd also suggest using Geometry instead of some other Drawable, 
as Geometry is more flexible (you can run them through the Simplifier, 
for example).</font></span></div>
<div> </div>
<div align="left"><font face="Helvetica" size="2">Paul Martz</font></div>
<div align="left"><font face="Helvetica"><b>Skew Matrix Software 
LLC</b></font></div>
<div align="left"><font face="Helvetica" size="2"><a href="http://www.skew-matrix.com/" target="_blank">http://www.skew-matrix.com</a></font></div>
<div align="left"><font face="Helvetica" size="2">+1 303 859 9466</font></div>
<div> </div><br>
<div dir="ltr" align="left" lang="en-us">
<hr>
<font face="Tahoma" size="2"><b>From:</b> <a href="mailto:osg-users-bounces@lists.openscenegraph.org" target="_blank">osg-users-bounces@lists.openscenegraph.org</a> 
[mailto:<a href="mailto:osg-users-bounces@lists.openscenegraph.org" target="_blank">osg-users-bounces@lists.openscenegraph.org</a>] <b>On Behalf Of </b>ami 
guru<br><b>Sent:</b> Sunday, March 22, 2009 7:46 AM<br><b>To:</b> OpenSceneGraph 
Users<br><b>Subject:</b> [osg-users] generate height map using 
fractal<br></font><br></div><div><div></div><div class="h5">
<div></div>Hello forum,<br><br>I have been using the Paul's article about 
generating terrain using fractals<br><br><a href="http://gameprogrammer.com/fractal.html" target="_blank">http://gameprogrammer.com/fractal.html</a><br><br><br>I 
am populating the values in the osg height map structure.<br><br><br>But The 
rendering is giving me a flat surface.<br><br><br>I hope that Paul sees that as 
well.<br><br>********************************************<br><br>  
osg::ref_ptr<osg::Geode> myTerrain = new osg::Geode;<br><br>  //Now 
load the terrain<br><br>  /*<br>  osg::ref_ptr<osg::Node> 
terrainNode (osgDB::readNodeFile("Terrain2.3ds"));<br>  
terrainScaleMat->addChild(terrainNode.get());<br>  */<br><br>  
//generate the 2D fractal<br>  float *heightData = 
alloc2DFractArray(512);<br><br><br>  //Define some constants for the 
fractal terrain<br>  static const float DEF_HEIGHT_SCALE = 0.1f;<br>  
static float TILING_SURFACE = 3;<br>  int randomSeed = 1;<br>  float H 
= 0.3;<br>  float iteration = 10;<br><br><br>  fill2DFractArray 
(heightData,512, randomSeed,DEF_HEIGHT_SCALE,H);<br>  <br>  //using 
the height field<br>  osg::ref_ptr<osg::HeightField> heightMap = new 
osg::HeightField;<br><br>  //allocate the space for the height 
field<br>  heightMap->allocate(512,512);<br><br>  //populate the 
height map<br>  for(unsigned int i = 0; i < 
heightMap->getNumColumns();i++)<br>    
{<br>      for(unsigned int j = 0; j < 
heightMap->getNumRows();j++)<br>    {<br>    
  int size = heightMap->getNumRows();<br>      
heightMap->setHeight(i,j,heightData[(i*size)+j]);<br><br>    
  //std::cout << heightMap->getHeight(i,j) << 
std::endl;<br>    }<br>    }<br><br>  //now 
add the drawable to  the terain<br>  myTerrain->addDrawable(new 
osg::ShapeDrawable(heightMap.get()));<br><br><br><br><br>********************************************<br><br><br><br>Regards,<br><br>Sajjad<br></div></div></div>
<br>_______________________________________________<br>
osg-users mailing list<br>
<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a><br>
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" target="_blank">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a><br>
<br></div><br>