Root/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | #region License /* FNA - XNA4 Reimplementation for Desktop Platforms * Copyright 2009-2016 Ethan Lee and the MonoGame Team * * Released under the Microsoft Public License. * See LICENSE for details. */ #endregion namespace Microsoft.Xna.Framework.Graphics { public sealed class ModelMeshPart { #region Public Properties /// <summary> /// Gets or sets the material Effect for this mesh part. /// </summary> public Effect Effect { get { return INTERNAL_effect; } set { if (value == INTERNAL_effect) { return ; } if (INTERNAL_effect != null ) { // First check to see any other parts are also using this effect. bool removeEffect = true ; foreach (ModelMeshPart part in parent.MeshParts) { if (part != this && part.INTERNAL_effect == INTERNAL_effect) { removeEffect = false ; break ; } } if (removeEffect) { parent.Effects.Remove(INTERNAL_effect); } } // Set the new effect. INTERNAL_effect = value; parent.Effects.Add(value); } } /// <summary> /// Gets the index buffer for this mesh part. /// </summary> public IndexBuffer IndexBuffer { get ; internal set ; } /// <summary> /// Gets the number of vertices used during a draw call. /// </summary> public int NumVertices { get ; internal set ; } /// <summary> /// Gets the number of primitives to render. /// </summary> public int PrimitiveCount { get ; internal set ; } /// <summary> /// Gets the location in the index array at which to start reading vertices. /// </summary> public int StartIndex { get ; internal set ; } /// <summary> /// Gets or sets an object identifying this model mesh part. /// </summary> public object Tag { get ; set ; } /// <summary> /// Gets the vertex buffer for this mesh part. /// </summary> public VertexBuffer VertexBuffer { get ; internal set ; } /// <summary> /// Gets the offset (in vertices) from the top of vertex buffer. /// </summary> public int VertexOffset { get ; internal set ; } #endregion #region Internal Variables internal ModelMesh parent; #endregion #region Private Variables private Effect INTERNAL_effect; #endregion } } |