Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 5976 in orxonox.OLD for branches/height_map/src/lib


Ignore:
Timestamp:
Dec 7, 2005, 5:21:41 PM (19 years ago)
Author:
bottac
Message:
 
Location:
branches/height_map/src/lib/graphics/importer
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/height_map/src/lib/graphics/importer/height_map.cc

    r5970 r5976  
    3434HeightMap::HeightMap(const char* height_map_name = NULL) : Model()
    3535{
     36   this->setClassID(CL_HEIGHT_MAP, "HeightMap");
    3637        heightMap =  IMG_Load(height_map_name);
    3738            if(heightMap!=NULL) {
     
    5556void HeightMap::load()
    5657{
    57  int height = 0;
     58 long height = 0;
    5859 int offset = 0;
    5960 char *  bmp = (char*) heightMap->pixels;
     
    6162  if(heightMap != NULL /* && heightMap->format->BitsPerPixel == 8 */)
    6263        {
    63                 for(int i = 0; i < heightMap->h; i += 2)
     64SDL_LockSurface(heightMap);
     65                for(int i = 0; i < heightMap->h -1; i += 2)
    6466                        {
    65                         for(int j = 0; j < heightMap->w;  j += 2)
     67                        for(int j = 0; j < heightMap->w -1;  j += 2)
    6668                        {
    6769
     
    6971
    7072                               
    71                                 SDL_LockSurface(heightMap);
    72                                         height = bmp[j + i*heightMap->w];
    73                                         //height = heightMap->format->palette->colors[offset];
    74                                 SDL_UnlockSurface(heightMap);   
    75                                 this->addVertex(heightMap->h - i , ((long)( height)  / 10) - 15 ,heightMap->w - j);
     73                               
     74                                        offset = bmp[j + i*heightMap->w];
     75                                        height = heightMap->format->palette->colors[offset].r + heightMap->format->palette->colors[offset].g + heightMap->format->palette->colors[offset].b ;
     76                                       
     77                                this->addVertex(heightMap->h - i , ((long)( height) / 30) - 60 ,heightMap->w - j);
    7678                        }       
    7779                        }
     80SDL_UnlockSurface(heightMap);
     81                for(int i = 0; i < (heightMap->h * heightMap->w)/4   -1  ; i ++)
     82                        {
     83                                 this->addFace (3, VERTEX_ONLY, i,i+1 ,i + (heightMap->w / 2) );
     84                               
     85                                  this->addFace (3, VERTEX_ONLY,i + (heightMap->w / 2)  ,i + (heightMap->w / 2) +1, i+1 );
     86                               
    7887
    79                 for(int i = 0; i < (heightMap->h * heightMap->w) / 4 - heightMap->w /2 -1  ; i ++)
    80                         {
    81                                   this->addFace (3, VERTEX_ONLY, i,i+1 ,i + (heightMap->w / 2) );
    82                                
    83                                   this->addFace (3, VERTEX_ONLY, i+1,i + (heightMap->w / 2)  ,i + (heightMap->w / 2) +1 );
     88                                //this->addFace (4 ,VERTEX_ONLY,i,i + (heightMap->w / 2)  ,i + (heightMap->w / 2) +1, i+1 );
    8489                        }
    8590               
  • branches/height_map/src/lib/graphics/importer/model.cc

    r5790 r5976  
    771771  this->vertices->finalizeArray();
    772772  this->vTexture->finalizeArray();
     773printf("=================%s::%d\n", this->getClassName(), normals->getCount());
    773774  if (normals->getCount() == 0) // vertices-Array must be built for this
    774775    this->buildVertexNormals();
Note: See TracChangeset for help on using the changeset viewer.