Hi Aurora,

You code is going off on the wrong track.  Don't use ShapeDrawable
here at all, don't try returning a osg::Geode.  You should be
returning the osgTerrain::Terrain, this is the node you should be
concentrating.  Please look at the osgterrain example.

Robert.

On Feb 20, 2008 12:48 PM, aurora restivo <[EMAIL PROTECTED]> wrote:
> Hi Robert,
>
> I send you the code with the new changes... unfortunately the result
> doesn't change...
> the plan around the terrain has not disappeared.
>
> the object terrainTechnique that you have recommended me is necessary to
> color the terrain?
>
> Thanks
> Aurora
>
>
>
> Robert Osfield ha scritto:
> > Hi Aurora,
> >
> > To assign the no data value do:
> >
> >    hfLayer->setValidDataOperator(new osgTerrain::NoDataValue(0.0f));
> >
> > Also you shouldn't need a ShapeDrawable when you are using
> > osgTerrain::Terrain, but you will need to assign a TerrainTechnique
> > that will be used to render the terrain.  See osgterrain example.
> >
> > Robert.
> >
> > On Feb 20, 2008 10:51 AM, aurora restivo <[EMAIL PROTECTED]> wrote:
> >
> >> Hi!
> >>
> >> I apologize but I have not understood well.
> >> I have need to draw the ground that is in the file terrain.jpg without
> >> the plan that is visualized around.
> >> I don't understand as I must use the NoDataValue.
> >>
> >> Besides I also have problems to color the terrain.
> >> My objective is to draw a terrain with a casting of washes.
> >>
> >> Can you recommend me a book where to find a good documentation for my
> >> specific problem?
> >>
> >> Thanks
> >> Aurora Restivo.
> >>
> >>
> >>
> >> Robert Osfield ha scritto:
> >>
> >>
> >>> Hi Aurora,
> >>>
> >>> I think what you are looking for is the osgTerrain::ValidDataOperator
> >>> that you can attach to your elevation layer via
> >>> Layer::setValidDataOperator(operator);
> >>>
> >>> In include/osgTerrain/ValidDataOperator you'll find the NoDataValue
> >>> subclass which is probably what you want to use in your case.
> >>>
> >>> Robert.
> >>>
> >>> On Feb 19, 2008 12:33 PM, aurora restivo <[EMAIL PROTECTED]> wrote:
> >>>
> >>>
> >>>> Hi!
> >>>>
> >>>> the image jpg in enclosure, is the result of the terrain that I have
> >>>> drawn beginning from the matrix of the altitudes.
> >>>> I would want to know if a way exists for not visualizing the quotas
> >>>> equal to 0.
> >>>>
> >>>> the source code is found in the file morfologia.txt
> >>>>
> >>>> Thanks in advance.
> >>>> Aurora Restivo
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
>
>
> #include ".\morfologia.h"
> #include ".\gestionematrix.h"
>
> #include <iostream>
> #include <cstdlib>
> #include <osg/Shape>
> #include <osg/ShapeDrawable>
> #include <osgTerrain/Terrain>
> #include <osgTerrain/ValidDataOperator>
> #include <osgTerrain/Layer>
> #include <osg/Texture2D>
> #include <osgDB/ReadFile>
> #include <osg/Vec3d>
>
>
>
> Morfologia::Morfologia(void)
> {
> }
>
> Morfologia::~Morfologia(void)
> {
> }
>
>
> osg::Geode* Morfologia::drawMorfologia()
> {
>         GestioneMatrix* g=new GestioneMatrix();
>
>         int** m= g->leggiFile("morf0.txt");
>
>         int max= g->cercaMax(m);
>         int min= g->cercaMin(m);
>
>         osg::HeightField* hF = new osg::HeightField();
>         hF->allocate(296,410);
>
>         for(int i=0; i< 410; i++)
>         {
>                 for(int j=0; j<296 ;j++)
>                 {
>                         if(m[i][j]!=0)
>                                 hF->setHeight(j,i, m[i][j]);
>                 }
>         }
>
>         hF->setXInterval(41.0);
>         hF->setYInterval(29.6);
>
>         osg::Quat* quat=  new osg::Quat(0,0,180,45);
>         hF->setRotation(*quat);
>         //hF->setBorderWidth(1000);
>         //hF->setSkirtHeight(500);      //set altezza piano
>
>
>         osgTerrain::Terrain* terrainNode= new osgTerrain::Terrain();
>         osgTerrain::HeightFieldLayer* hFLayer= new 
> osgTerrain::HeightFieldLayer();
>         hFLayer->setHeightField(hF);
>
>
>         osgTerrain::ValidDataOperator* dataO= new 
> osgTerrain::NoDataValue(0.0);
>         hFLayer->setValidDataOperator(dataO);
>
>         terrainNode->setElevationLayer(hFLayer);
>
>         //terrainNode->setColorLayer(151,hFLayer);
>         //terrainNode->setColorFilter(0, osgTerrain::Terrain::Filter::LINEAR);
>
>         osg::Geode* geode= new osg::Geode();
>         osg::ShapeDrawable* draw= new osg::ShapeDrawable(hF);
>         geode->addDrawable(draw);
>
>
>         //TEXTURE
>         osg::StateSet* state= new osg::StateSet();
>         osg::Texture2D* texture= new osg::Texture2D();
>         texture->setDataVariance(osg::Object::DYNAMIC);
>         osg::Image* img= 
> osgDB::readImageFile("C:/Programmi/OpenSceneGraph/data/Images/Saturn.TGA");
>         texture->setImage(img);
>         state->setTextureAttributeAndModes(0, texture, 
> osg::StateAttribute::ON);
>         //geode->setStateSet(state);
>         //FINE texture
>
>
>
>         return geode;
> }
> _______________________________________________
> osg-users mailing list
> osg-users@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to