public Quad(Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4, String textureName, String snowTextureName = "") { if (textureName != "") { texture = SceneManager.staticContent.Load <Texture2D>(textureName); } if (snowTextureName != "") { snowTexture = SceneManager.staticContent.Load <Texture2D>(snowTextureName); } effect = SceneManager.staticEffect; world = Matrix.Identity; // Incluir em todo construtor; device = SceneManager.staticDevice; vertsTexture = new VertexPositionTexture[6]; vertsTexture[0] = new VertexPositionTexture(p1, Vector2.Zero); vertsTexture[1] = new VertexPositionTexture(p2, Vector2.UnitY); vertsTexture[2] = new VertexPositionTexture(p3, Vector2.One); vertsTexture[3] = new VertexPositionTexture(p1, Vector2.Zero); vertsTexture[4] = new VertexPositionTexture(p3, Vector2.One); vertsTexture[5] = new VertexPositionTexture(p4, Vector2.UnitX); vertexBuffer = new VertexBuffer(device, typeof(VertexPositionTexture), vertsTexture.Length, BufferUsage.None); vertexBuffer.SetData <VertexPositionTexture>(vertsTexture); vertType = VERTEX_TYPE.Texture; }
/// <summary> /// Cria um retangulo formado por 2 triangulos. Comecar do ponto inferior esquerdo /// e terminar no ponto inferior direito /// </summary> /// <param name="device">Graphic Device</param> /// <param name="p1">ponto inferior esquerdo</param> /// <param name="p2">ponto superior esquerdo</param> /// <param name="p3">ponto superior direito</param> /// <param name="p4">ponto inferior direito</param> public Quad(Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4, Color color = default(Color)) { world = Matrix.Identity; // Incluir em todo construtor; device = SceneManager.staticDevice; vertsColor = new VertexPositionColor[6]; if (object.Equals(color, default(Color))) { vertsColor[0] = new VertexPositionColor(p1, Color.Black); vertsColor[1] = new VertexPositionColor(p2, Color.Black); vertsColor[2] = new VertexPositionColor(p3, Color.Black); vertsColor[3] = new VertexPositionColor(p1, Color.Black); vertsColor[4] = new VertexPositionColor(p3, Color.Black); vertsColor[5] = new VertexPositionColor(p4, Color.Black); } else { vertsColor[0] = new VertexPositionColor(p1, color); vertsColor[1] = new VertexPositionColor(p2, color); vertsColor[2] = new VertexPositionColor(p3, color); vertsColor[3] = new VertexPositionColor(p1, color); vertsColor[4] = new VertexPositionColor(p3, color); vertsColor[5] = new VertexPositionColor(p4, color); } vertexBuffer = new VertexBuffer(device, typeof(VertexPositionColor), vertsColor.Length, BufferUsage.None); vertexBuffer.SetData <VertexPositionColor>(vertsColor); basicEffect = new BasicEffect(device); vertType = VERTEX_TYPE.Color; }