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); } }
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(); } }