- Timestamp:
- 03/25/10 12:11:35 (3 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
OpenSceneGraph/trunk/src/osgTerrain/GeometryTechnique.cpp
r11259 r11287 311 311 Locator* locator = colorLayer->getLocator(); 312 312 if (!locator) 313 { 313 { 314 314 osgTerrain::SwitchLayer* switchLayer = dynamic_cast<osgTerrain::SwitchLayer*>(colorLayer); 315 315 if (switchLayer) … … 322 322 } 323 323 } 324 } 325 324 } 325 326 326 TexCoordLocatorPair& tclp = layerToTexCoordMap[colorLayer]; 327 327 tclp.first = new osg::Vec2Array; … … 356 356 unsigned int iv = j*numColumns + i; 357 357 osg::Vec3d ndc( ((double)i)/(double)(numColumns-1), ((double)j)/(double)(numRows-1), 0.0); 358 358 359 359 bool validValue = true; 360 361 362 unsigned int i_equiv = i_sampleFactor==1.0 ? i : (unsigned int) (double(i)*i_sampleFactor);363 unsigned int j_equiv = i_sampleFactor==1.0 ? j : (unsigned int) (double(j)*j_sampleFactor);364 365 360 if (elevationLayer) 366 361 { 367 362 float value = 0.0f; 368 validValue = elevationLayer->getValidValue(i_equiv,j_equiv,value);369 // OSG_INFO<<"i="<<i<<" j="<<j<<" z="<<value<<std::endl;363 if (sampleRatio==1.0) validValue = elevationLayer->getValidValue(i,j,value); 364 else validValue = elevationLayer->getInterpolatedValidValue(ndc.x(), ndc.y(), value); 370 365 ndc.z() = value*scaleHeight; 371 366 } 372 367 373 368 if (validValue) 374 369 { 375 370 indices[iv] = vertices->size(); 376 371 377 372 osg::Vec3d model; 378 373 masterLocator->convertLocalToModel(ndc, model); … … 417 412 } 418 413 } 419 414 420 415 // populate primitive sets 421 416 // bool optimizeOrientations = elevations!=0;
