Show
Ignore:
Timestamp:
03/21/12 18:36:20 (2 years ago)
Author:
robert
Message:

Ran script to remove trailing spaces and tabs

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/src/osgParticle/PrecipitationEffect.cpp

    r13022 r13041  
    1 /* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield  
     1/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield 
    22 * 
    3  * This library is open source and may be redistributed and/or modified under   
    4  * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or  
     3 * This library is open source and may be redistributed and/or modified under 
     4 * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or 
    55 * (at your option) any later version.  The full license is in LICENSE file 
    66 * included with this distribution, and on the openscenegraph.org website. 
    7  *  
     7 * 
    88 * This library is distributed in the hope that it will be useful, 
    99 * but WITHOUT ANY WARRANTY; without even the implied warranty of 
    10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
     10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
    1111 * OpenSceneGraph Public License for more details. 
    1212*/ 
     
    4040{ 
    4141    setNumChildrenRequiringUpdateTraversal(1); 
    42      
     42 
    4343    setUpGeometries(1024); 
    4444 
     
    8282    _nearTransition = 25.f; 
    8383    _farTransition = 100.0f - 60.0f*sqrtf(intensity); 
    84      
     84 
    8585    if (!_fog) _fog = new osg::Fog; 
    8686 
     
    9090 
    9191    _useFarLineSegments = false; 
    92      
     92 
    9393    _dirty = true; 
    9494 
     
    106106    _nearTransition = 25.f; 
    107107    _farTransition = 100.0f - 60.0f*sqrtf(intensity); 
    108      
     108 
    109109    if (!_fog) _fog = new osg::Fog; 
    110110 
     
    114114 
    115115    _useFarLineSegments = false; 
    116      
     116 
    117117    _dirty = true; 
    118118 
     
    122122void PrecipitationEffect::compileGLObjects(osg::RenderInfo& renderInfo) const 
    123123{ 
    124     if (_quadGeometry.valid())  
     124    if (_quadGeometry.valid()) 
    125125    { 
    126126        _quadGeometry->compileGLObjects(renderInfo); 
     
    128128    } 
    129129 
    130     if (_lineGeometry.valid())  
     130    if (_lineGeometry.valid()) 
    131131    { 
    132132        _lineGeometry->compileGLObjects(renderInfo); 
     
    134134    } 
    135135 
    136     if (_pointGeometry.valid())  
     136    if (_pointGeometry.valid()) 
    137137    { 
    138138        _pointGeometry->compileGLObjects(renderInfo); 
     
    147147    { 
    148148        if (_dirty) update(); 
    149      
     149 
    150150        if (nv.getFrameStamp()) 
    151151        { 
     
    160160        return; 
    161161    } 
    162      
     162 
    163163    if (nv.getVisitorType() == osg::NodeVisitor::NODE_VISITOR) 
    164164    { 
     
    173173            } 
    174174        } 
    175      
     175 
    176176        return; 
    177177    } 
    178      
     178 
    179179 
    180180    if (nv.getVisitorType() != osg::NodeVisitor::CULL_VISITOR) 
     
    190190 
    191191    ViewIdentifier viewIndentifier(cv, nv.getNodePath()); 
    192      
     192 
    193193    { 
    194194        PrecipitationDrawableSet* precipitationDrawableSet = 0; 
    195          
     195 
    196196        { 
    197197            OpenThreads::ScopedLock<OpenThreads::Mutex> lock(_mutex); 
    198198            precipitationDrawableSet = &(_viewDrawableMap[viewIndentifier]); 
    199                  
     199 
    200200            if (!precipitationDrawableSet->_quadPrecipitationDrawable) 
    201201            { 
     
    219219            } 
    220220        } 
    221          
     221 
    222222        cull(*precipitationDrawableSet, cv); 
    223          
     223 
    224224        cv->pushStateSet(_stateset.get()); 
    225225        float depth = 0.0f; 
     
    228228        { 
    229229            cv->pushStateSet(precipitationDrawableSet->_quadPrecipitationDrawable->getStateSet()); 
    230             cv->addDrawableAndDepth(precipitationDrawableSet->_quadPrecipitationDrawable.get(),cv->getModelViewMatrix(),depth);     
     230            cv->addDrawableAndDepth(precipitationDrawableSet->_quadPrecipitationDrawable.get(),cv->getModelViewMatrix(),depth); 
    231231            cv->popStateSet(); 
    232232        } 
     
    235235        { 
    236236            cv->pushStateSet(precipitationDrawableSet->_linePrecipitationDrawable->getStateSet()); 
    237             cv->addDrawableAndDepth(precipitationDrawableSet->_linePrecipitationDrawable.get(),cv->getModelViewMatrix(),depth);     
     237            cv->addDrawableAndDepth(precipitationDrawableSet->_linePrecipitationDrawable.get(),cv->getModelViewMatrix(),depth); 
    238238            cv->popStateSet(); 
    239239        } 
     
    242242        { 
    243243            cv->pushStateSet(precipitationDrawableSet->_pointPrecipitationDrawable->getStateSet()); 
    244             cv->addDrawableAndDepth(precipitationDrawableSet->_pointPrecipitationDrawable.get(),cv->getModelViewMatrix(),depth);     
     244            cv->addDrawableAndDepth(precipitationDrawableSet->_pointPrecipitationDrawable.get(),cv->getModelViewMatrix(),depth); 
    245245            cv->popStateSet(); 
    246246        } 
     
    271271    _inverse_dv.set(0.0f, 1.0f/length_v, 0.0f); 
    272272    _inverse_dw.set(0.0f, 0.0f, 1.0f/length_w); 
    273      
     273 
    274274    OSG_INFO<<"Cell size X="<<length_u<<std::endl; 
    275275    OSG_INFO<<"Cell size Y="<<length_v<<std::endl; 
    276276    OSG_INFO<<"Cell size Z="<<length_w<<std::endl; 
    277      
     277 
    278278 
    279279    { 
    280280        OpenThreads::ScopedLock<OpenThreads::Mutex> lock(_mutex); 
    281281        _viewDrawableMap.clear(); 
    282     }     
     282    } 
    283283 
    284284    // set up state/ 
     
    309309        } 
    310310        else _particleColorUniform->set(_particleColor); 
    311          
     311 
    312312        if (!_particleSizeUniform) 
    313313        { 
     
    318318 
    319319    } 
    320          
    321 } 
    322  
    323 void PrecipitationEffect::createGeometry(unsigned int numParticles,  
    324                     osg::Geometry* quad_geometry,  
     320 
     321} 
     322 
     323void PrecipitationEffect::createGeometry(unsigned int numParticles, 
     324                    osg::Geometry* quad_geometry, 
    325325                    osg::Geometry* line_geometry, 
    326326                    osg::Geometry* point_geometry) 
     
    331331    osg::Vec2 offset01(0.0f,1.0f); 
    332332    osg::Vec2 offset11(1.0f,1.0f); 
    333      
     333 
    334334    osg::Vec2 offset0(0.5f,0.0f); 
    335335    osg::Vec2 offset1(0.5f,1.0f); 
     
    344344    { 
    345345        quad_geometry->setName("quad"); 
    346      
     346 
    347347        quad_vertices = new osg::Vec3Array(numParticles*4); 
    348348        quad_offsets = new osg::Vec2Array(numParticles*4); 
     
    384384    { 
    385385        osg::Vec3 pos( random(0.0f, 1.0f), random(0.0f, 1.0f), random(0.0f, 1.0f)); 
    386      
     386 
    387387        // quad particles 
    388388        if (quad_vertices) 
     
    397397            (*quad_offsets)[i*4+3] = offset10; 
    398398        } 
    399                  
     399 
    400400        // line particles 
    401401        if (line_vertices) 
     
    406406            (*line_offsets)[i*2+1] = offset1; 
    407407        } 
    408          
     408 
    409409        // point particles 
    410410        if (point_vertices) 
     
    421421    unsigned int lineRenderBin = 12; 
    422422    unsigned int pointRenderBin = 11; 
    423      
    424      
     423 
     424 
    425425    OSG_INFO<<"PrecipitationEffect::setUpGeometries("<<numParticles<<")"<<std::endl; 
    426426 
     
    440440        needGeometryRebuild = true; 
    441441    } 
    442      
     442 
    443443    if (!_pointGeometry || _pointGeometry->getVertexArray()->getNumElements() != numParticles) 
    444444    { 
     
    447447        needGeometryRebuild = true; 
    448448    } 
    449      
    450     if (needGeometryRebuild)  
     449 
     450    if (needGeometryRebuild) 
    451451    { 
    452452        createGeometry(numParticles, _quadGeometry.get(), _lineGeometry.get(), _pointGeometry.get()); 
     
    457457    { 
    458458        _quadStateSet = new osg::StateSet; 
    459          
     459 
    460460        osg::Program* program = new osg::Program; 
    461461        _quadStateSet->setAttribute(program); 
     
    463463 
    464464#ifdef USE_LOCAL_SHADERS 
    465         char vertexShaderSource[] =  
     465        char vertexShaderSource[] = 
    466466            "uniform float inversePeriod;\n" 
    467467            "uniform vec4 particleColour;\n" 
     
    509509            "}\n"; 
    510510 
    511         char fragmentShaderSource[] =  
     511        char fragmentShaderSource[] = 
    512512            "uniform sampler2D baseTexture;\n" 
    513513            "varying vec2 texCoord;\n" 
     
    538538 
    539539#ifdef USE_LOCAL_SHADERS 
    540         char vertexShaderSource[] =  
     540        char vertexShaderSource[] = 
    541541            "uniform float inversePeriod;\n" 
    542542            "uniform vec4 particleColour;\n" 
     
    581581            "}\n"; 
    582582 
    583         char fragmentShaderSource[] =  
     583        char fragmentShaderSource[] = 
    584584            "uniform sampler2D baseTexture;\n" 
    585585            "varying vec2 texCoord;\n" 
     
    609609 
    610610#ifdef USE_LOCAL_SHADERS 
    611         char vertexShaderSource[] =  
     611        char vertexShaderSource[] = 
    612612            "uniform float inversePeriod;\n" 
    613613            "uniform vec4 particleColour;\n" 
     
    639639            "}\n"; 
    640640 
    641         char fragmentShaderSource[] =  
     641        char fragmentShaderSource[] = 
    642642            "uniform sampler2D baseTexture;\n" 
    643643            "varying vec4 colour;\n" 
     
    665665            OSG_NOTICE<<"Warning: ParticleEffect::setUpGeometries(..) not fully implemented."<<std::endl; 
    666666        #endif 
    667          
     667 
    668668        _pointStateSet->setRenderBinDetails(pointRenderBin,"DepthSortedBin"); 
    669669    } 
     
    693693    osg::Matrix inverse_modelview; 
    694694    inverse_modelview.invert(*(cv->getModelViewMatrix())); 
    695      
     695 
    696696    osg::Vec3 eyeLocal = osg::Vec3(0.0f,0.0f,0.0f) * inverse_modelview; 
    697697    //OSG_NOTICE<<"  eyeLocal "<<eyeLocal<<std::endl; 
    698      
     698 
    699699    float eye_k = (eyeLocal-_origin)*_inverse_dw; 
    700700    osg::Vec3 eye_kPlane = eyeLocal-_dw*eye_k-_origin; 
    701      
     701 
    702702    // OSG_NOTICE<<"  eye_kPlane "<<eye_kPlane<<std::endl; 
    703      
     703 
    704704    float eye_i = eye_kPlane*_inverse_du; 
    705705    float eye_j = eye_kPlane*_inverse_dv; 
    706      
     706 
    707707    osg::Polytope frustum; 
    708708    frustum.setToUnitFrustum(false,false); 
     
    713713    float j_delta = _farTransition * _inverse_dv.y(); 
    714714    float k_delta = 1;//_nearTransition * _inverse_dw.z(); 
    715      
     715 
    716716    int i_min = (int)floor(eye_i - i_delta); 
    717717    int j_min = (int)floor(eye_j - j_delta); 
     
    721721    int j_max = (int)ceil(eye_j + j_delta); 
    722722    int k_max = (int)ceil(eye_k + k_delta); 
    723      
     723 
    724724    //OSG_NOTICE<<"i_delta="<<i_delta<<" j_delta="<<j_delta<<" k_delta="<<k_delta<<std::endl; 
    725725 
     
    738738                float startTime = (float)(i)*iCyle + (float)(j)*jCyle; 
    739739                startTime = (startTime-floor(startTime))*_period; 
    740      
     740 
    741741                if (build(eyeLocal, i,j,k, startTime, pds, frustum, cv)) ++numInFrustum; 
    742742                ++numTested; 
     
    745745    } 
    746746 
    747      
     747 
    748748#ifdef DO_TIMING 
    749749    osg::Timer_t endTick = osg::Timer::instance()->tick(); 
     
    761761    osg::BoundingBox bb(position.x(), position.y(), position.z()+scale.z(), 
    762762                        position.x()+scale.x(), position.y()+scale.y(), position.z()); 
    763                          
     763 
    764764    if (!frustum.contains(bb)) return false; 
    765765 
     
    800800    mymodelview->preMultTranslate(position); 
    801801    mymodelview->preMultScale(scale); 
    802      
     802 
    803803    cv->updateCalculatedNearFar(*(cv->getModelViewMatrix()),bb); 
    804804 
     
    840840 
    841841    const osg::Geometry::Extensions* extensions = osg::Geometry::getExtensions(renderInfo.getContextID(),true); 
    842      
     842 
    843843    // save OpenGL matrices 
    844844    glPushMatrix(); 
    845      
     845 
    846846    if (_requiresPreviousMatrix) 
    847847    { 
     
    850850        glPushMatrix(); 
    851851    } 
    852      
     852 
    853853    typedef std::vector<const CellMatrixMap::value_type*> DepthMatrixStartTimeVector; 
    854854    DepthMatrixStartTimeVector orderedEntries; 
     
    861861        orderedEntries.push_back(&(*citr)); 
    862862    } 
    863      
     863 
    864864    std::sort(orderedEntries.begin(),orderedEntries.end(),LessFunctor()); 
    865          
     865 
    866866    for(DepthMatrixStartTimeVector::reverse_iterator itr = orderedEntries.rbegin(); 
    867867        itr != orderedEntries.rend(); 
     
    881881                // load previous frame modelview matrix for motion blurr effect 
    882882                glMatrixMode( GL_TEXTURE ); 
    883                 glLoadMatrix(pitr->second.modelview.ptr());     
     883                glLoadMatrix(pitr->second.modelview.ptr()); 
    884884            } 
    885885            else 
     
    887887                // use current modelview matrix as "previous" frame value, cancelling motion blurr effect 
    888888                glMatrixMode( GL_TEXTURE ); 
    889                 glLoadMatrix((*itr)->second.modelview.ptr());     
     889                glLoadMatrix((*itr)->second.modelview.ptr()); 
    890890            } 
    891891        } 
     
    896896 
    897897        _geometry->draw(renderInfo); 
    898          
     898 
    899899        unsigned int numVertices = osg::minimum(_geometry->getVertexArray()->getNumElements(), _numberOfVertices); 
    900900        glDrawArrays(_drawType, 0, numVertices); 
     
    907907        glMatrixMode( GL_MODELVIEW ); 
    908908    } 
    909      
     909 
    910910    glPopMatrix(); 
    911911#else