Ignore:
Timestamp:
May 5, 2008, 3:05:29 PM (17 years ago)
Author:
vrinside
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/vizservers/nanovis/HeightMap.cpp

    r932 r1000  
    2020double HeightMap::valueMax = 1.0;
    2121
     22#define TOPCONTOUR
    2223HeightMap::HeightMap() :
    2324    _vertexBufferObjectID(0),
     
    2526    _vertexCount(0),
    2627    _contour(0),
     28    _topContour(0),
    2729    _colorMap(0),
    2830    _indexBuffer(0),
    2931    _indexCount(0),
    3032    _contourColor(1.0f, 0.0f, 0.0f),
    31     _contourVisible(true),
     33    _contourVisible(false),
     34    _topContourVisible(true),
    3235    _visible(false),
    3336    _scale(1.0f, 1.0f, 1.0f),
     
    9295       
    9396        if (_colorMap) {
     97            // PUT vertex program here
     98            //
     99            //
     100           
    94101            cgGLBindProgram(_shader->getFP());
    95102            cgGLEnableProfile(CG_PROFILE_FP30);
     
    110117        ::glTexCoordPointer(3, GL_FLOAT, 12, 0);
    111118       
     119#define _TRIANGLES_
     120#ifdef _TRIANGLES_
    112121        glDrawElements(GL_TRIANGLES, _indexCount, GL_UNSIGNED_INT,
    113122                       _indexBuffer);
     123#else                   
     124        glDrawElements(GL_QUADS, _indexCount, GL_UNSIGNED_INT,
     125                       _indexBuffer);
     126#endif
     127
    114128        glBindBuffer(GL_ARRAY_BUFFER, 0);
    115129       
     
    126140    glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
    127141   
    128     if (_contour && _contourVisible) {
    129         glDisable(GL_BLEND);
    130         glDisable(GL_TEXTURE_2D);
    131         glColor4f(_contourColor.x, _contourColor.y, _contourColor.z, 1.0f);
    132         glDepthRange (0.0, 0.999);
    133         _contour->render();
    134         glDepthRange (0.0, 1.0);
     142    if (_contour) {
     143        if (_contourVisible) {
     144            glDisable(GL_BLEND);
     145            glDisable(GL_TEXTURE_2D);
     146            glColor4f(_contourColor.x, _contourColor.y, _contourColor.z, 1.0f);
     147            glDepthRange (0.0, 0.999);
     148            _contour->render();
     149            glDepthRange (0.0, 1.0);
     150        }
     151
     152#ifdef TOPCONTOUR
     153        if (_topContourVisible) {
     154            glDisable(GL_BLEND);
     155            glDisable(GL_TEXTURE_2D);
     156            glColor4f(_contourColor.x, _contourColor.y, _contourColor.z, 1.0f);
     157            //glDepthRange (0.0, 0.999);
     158            _topContour->render();
     159            //glDepthRange (0.0, 1.0);
     160        }
     161#endif
    135162    }
    136163    glPopMatrix();
     
    149176    int boundaryHeight = zCount - 1;
    150177    int* ptr = indexBuffer;
    151     int index1, index2, index3, index4;
     178        int index1, index2, index3, index4;
    152179    bool index1Valid, index2Valid, index3Valid, index4Valid;
    153180    index1Valid = index2Valid = index3Valid = index4Valid = true;
     
    166193                if (isnan(heights[index4])) index4Valid = false;
    167194           
     195#ifdef _TRIANGLES_
    168196                if (index1Valid && index2Valid && index3Valid) {
    169197                    *ptr = index1; ++ptr;
     
    178206                    ++ic;
    179207                }
     208#else
     209                if (index1Valid && index2Valid && index3Valid && index4Valid) {
     210                    *ptr = index1; ++ptr;
     211                    *ptr = index2; ++ptr;
     212                    *ptr = index3; ++ptr;
     213                    *ptr = index4; ++ptr;
     214                    ++ic;
     215                }
     216#endif
    180217            }
    181218        }
     
    266303    _contour = lineFilter.create(0.0f, 1.0f, 10, heights, xCount, yCount);
    267304
     305#ifdef TOPCONTOUR
     306    ContourLineFilter topLineFilter;
     307    topLineFilter.setHeightTop(true);
     308    _topContour = topLineFilter.create(0.0f, 1.0f, 10, heights, xCount, yCount);
     309#endif
     310
    268311    //if (heightMap)
    269312    //{
     
    336379    _contour = lineFilter.create(0.0f, 1.0f, 10, heightMap, xCount, yCount);
    337380   
     381#ifdef TOPCONTOUR
     382    ContourLineFilter topLineFilter;
     383    topLineFilter.setHeightTop(true);
     384    _topContour = topLineFilter.create(0.0f, 1.0f, 10, heightMap, xCount, yCount);
     385#endif
     386
     387
    338388    //if (heightMap)
    339389    //{
Note: See TracChangeset for help on using the changeset viewer.