Ejemplo n.º 1
0
        public void Draw()
        {
            if (isDirty)
            {
                Instances_VB.SetData(Instances_);
                isDirty = false;
            }

            GraphicsDevice.SetVertexBuffers(Bindings);

            Effect.CurrentTechnique       = Effect.Techniques["TexturedInstance"];
            Effect_Clamp.CurrentTechnique = Effect_Clamp.Techniques["TexturedInstance"];

            foreach (var baseFormat in BaseFormats_Solid.Values)
            {
                baseFormat.Draw(Instances.Count);
            }

            if (Buffer.drawAlpha)
            {
                Effect.CurrentTechnique       = Effect.Techniques["TexturedInstanceAlpha"];
                Effect_Clamp.CurrentTechnique = Effect_Clamp.Techniques["TexturedInstanceAlpha"];
            }

            foreach (var baseFormat in BaseFormats_Alpha.Values)
            {
                baseFormat.Draw(Instances.Count);
            }
        }
Ejemplo n.º 2
0
        public void Dispose()
        {
            if (Shared_VB != null)
            {
                Shared_VB.Dispose();
            }

            if (Instances_VB != null)
            {
                Instances_VB.Dispose();
            }

            foreach (var baseFormat in BaseFormats_Solid.Values)
            {
                baseFormat.Dispose();
            }

            foreach (var baseFormat in BaseFormats_Alpha.Values)
            {
                baseFormat.Dispose();
            }
        }