Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jan 17, 2016, 10:29:21 PM (8 years ago)
Author:
landauf
Message:

merged branch cpp11_v3 back to trunk

Location:
code/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/trunk

  • code/trunk/src/libraries/tools/Shader.cc

    r10727 r11071  
    4444        @brief Initializes the values and sets the scene manager.
    4545    */
    46     Shader::Shader(Ogre::SceneManager* scenemanager) : compositorInstance_(0)
     46    Shader::Shader(Ogre::SceneManager* scenemanager) : compositorInstance_(nullptr)
    4747    {
    4848        RegisterObject(Shader);
     
    109109    {
    110110        // For the moment, we get the viewport always from the graphics manager
    111         // TODO: Try to support multiple viewports - note however that scenemanager_->getCurrentViewport() returns NULL
     111        // TODO: Try to support multiple viewports - note however that scenemanager_->getCurrentViewport() returns nullptr
    112112        //       after switching to a camera in a different scene (only for the first time this scene is displayed though)
    113113        this->changedCompositorName(GraphicsManager::getInstance().getViewport());
     
    127127                Ogre::CompositorManager::getSingleton().removeCompositor(viewport, this->oldcompositorName_);
    128128                this->compositorInstance_->removeListener(this);
    129                 this->compositorInstance_ = 0;
     129                this->compositorInstance_ = nullptr;
    130130            }
    131131            if (!this->compositorName_.empty())
     
    197197    {
    198198        // iterate through the list of parameters
    199         for (std::list<ParameterContainer>::iterator it = this->parameters_.begin(); it != this->parameters_.end(); ++it)
    200         {
    201             Ogre::Technique* techniquePtr = materialPtr->getTechnique(it->technique_);
     199        for (const ParameterContainer& parameter : this->parameters_)
     200        {
     201            Ogre::Technique* techniquePtr = materialPtr->getTechnique(parameter.technique_);
    202202            if (techniquePtr)
    203203            {
    204                 Ogre::Pass* passPtr = techniquePtr->getPass(it->pass_);
     204                Ogre::Pass* passPtr = techniquePtr->getPass(parameter.pass_);
    205205                if (passPtr)
    206206                {
    207207                    // change the value of the parameter depending on its type
    208                     if (it->value_.isType<int>())
    209                         passPtr->getFragmentProgramParameters()->setNamedConstant(it->parameter_, it->value_.get<int>());
    210                     else if (it->value_.isType<float>())
    211                         passPtr->getFragmentProgramParameters()->setNamedConstant(it->parameter_, it->value_.get<float>());
     208                    if (parameter.value_.isType<int>())
     209                        passPtr->getFragmentProgramParameters()->setNamedConstant(parameter.parameter_, parameter.value_.get<int>());
     210                    else if (parameter.value_.isType<float>())
     211                        passPtr->getFragmentProgramParameters()->setNamedConstant(parameter.parameter_, parameter.value_.get<float>());
    212212                }
    213213                else
    214                     orxout(internal_warning) << "No pass " << it->pass_ << " in technique " << it->technique_ << " in compositor \"" << this->compositorName_ << "\" or pass has no shader." << endl;
     214                    orxout(internal_warning) << "No pass " << parameter.pass_ << " in technique " << parameter.technique_ << " in compositor \"" << this->compositorName_ << "\" or pass has no shader." << endl;
    215215            }
    216216            else
    217                 orxout(internal_warning) << "No technique " << it->technique_ << " in compositor \"" << this->compositorName_ << "\" or technique has no pass with shader." << endl;
     217                orxout(internal_warning) << "No technique " << parameter.technique_ << " in compositor \"" << this->compositorName_ << "\" or technique has no pass with shader." << endl;
    218218        }
    219219        this->parameters_.clear();
     
    228228        {
    229229            const Ogre::Root::PluginInstanceList& plugins = Ogre::Root::getSingleton().getInstalledPlugins();
    230             for (size_t i = 0; i < plugins.size(); ++i)
    231                 if (plugins[i]->getName() == "Cg Program Manager")
     230            for (Ogre::Plugin* plugin : plugins)
     231                if (plugin->getName() == "Cg Program Manager")
    232232                    return true;
    233233        }
Note: See TracChangeset for help on using the changeset viewer.