コード例 #1
0
		public GpuProgramParameters( GpuProgramParameters other )
			: base()
		{
			// let compiler perform shallow copies of structures 
			// AutoConstantEntry, RealConstantEntry, IntConstantEntry
			this.floatConstants = new FloatConstantList( other.floatConstants ); // vector<float> in ogre => shallow copy
			this.intConstants = new IntConstantList( other.intConstants ); // vector<int> in ogre => shallow copy

			this.autoConstants = new AutoConstantsList(); // vector<AutoConstantEntry> in ogre => deep copy
			foreach ( var ac in other.autoConstants )
			{
				this.autoConstants.Add( ac.Clone() );
			}

			// copy value members
			this.floatLogicalToPhysical = other.floatLogicalToPhysical; // pointer in ogre => no Clone
			this.intLogicalToPhysical = other.intLogicalToPhysical; // pointer in ogre => no Clone
			this._namedConstants = other._namedConstants; // pointer in ogre => no Clone
			CopySharedParamSetUsage( other._sharedParamSets );

			this._combinedVariability = other._combinedVariability;
			TransposeMatrices = other.TransposeMatrices;
			this.ignoreMissingParameters = other.ignoreMissingParameters;
			this.activePassIterationIndex = other.activePassIterationIndex;
		}
コード例 #2
0
 public AutoConstantsList(AutoConstantsList other)
 {
     AddRange(other.GetRange(0, other.Count));
 }