Esempio n. 1
0
      ParameterGroupData::ParameterGroupData( const ParameterGroupData & rhs )
        : Object( rhs )
      {
        m_objectCode = OC_PARAMETER_GROUP_DATA;
        initSpec( rhs.getParameterGroupSpec() );

        // fill the data area with the values from rhs
        for ( ParameterGroupSpec::iterator it = m_parameterGroupSpec->beginParameterSpecs() ; it != m_parameterGroupSpec->endParameterSpecs() ; ++it )
        {
          if ( it->first.getType() & PT_POINTER_TYPE_MASK )
          {
            DP_ASSERT( ( it->first.getType() & PT_POINTER_TYPE_MASK ) == PT_SAMPLER_PTR );
            setParameter( it, rhs.getParameter<SamplerSharedPtr>( it ) );
          }
          else
          {
            setParameter( it, rhs.getParameter( it ) );
          }
        }
      }