[vtkusers] vtkTexture -- only textures using a single color?
    kplusplus at comcast.net 
    kplusplus at comcast.net
       
    Mon Feb 21 16:30:21 EST 2005
    
    
  
I'm writing an app that allows the user to visualize heightmaps, and am 
having problems with vtkTexture.  For some reason, the correct texture 
isn't applied; rather, the color that occurs in the upper leftmost pixel 
of the texture map. The textures I'm using have the same dimensions as 
the heightmaps.
Here's the code I'm testing with:
------
    vtkPNGReader *hmReader = vtkPNGReader::New();
    hmReader->SetFileName(filePath);
    vtkPNGReader *tReader = vtkPNGReader::New();
    tReader->SetFileName(texturePath);
    vtkTexture *tex = vtkTexture::New();
    tex->SetInput(tReader->GetOutput());
    tex->RepeatOff();
    tex->InterpolateOn();
    vtkDataSetSurfaceFilter *geometry = vtkDataSetSurfaceFilter::New();
    geometry->SetUseStrips(1);
    geometry->SetInput(hmReader->GetOutput());
    vtkQuadricClustering *cluster = vtkQuadricClustering::New();
    cluster->SetUseInputPoints(1);
    cluster->SetNumberOfXDivisions(128);
    cluster->SetNumberOfYDivisions(128);
    cluster->SetNumberOfZDivisions(128);
    cluster->SetInput(geometry->GetOutput());
    vtkWarpScalar *warp = vtkWarpScalar::New();
    warp->SetScaleFactor(1.0);
    warp->SetInput(cluster->GetOutput());
    vtkDataSetMapper *mapper = vtkDataSetMapper::New();
    mapper->ScalarVisibilityOff();
    mapper->SetInput((vtkPolyData *)warp->GetOutput());
   
    vtkActor *actor = vtkActor::New();
    actor->SetTexture(tex);
    actor->SetMapper(mapper);
   
    ren->AddActor(actor);
------
What's going wrong here?  How do I get my textures to work properly?
    
    
More information about the vtkusers
mailing list