public override void Draw(ITexture texture) { if (texture == null) { return; } base.Draw(texture); var dev = Device.Get(); dev.OutputMerger.BlendState = data.AlphaDarkenState; if (models.Display.LinearInterpolation) { shader.Run(data.Buffer, models.Display.ClientAspectRatio, GetWorldToImage(), models.Display.Multiplier, CalcFarplane(), models.Display.DisplayNegative, texture.GetSrView(models.Display.ActiveLayer, models.Display.ActiveMipmap)); } else { marchingShader.Run(data.Buffer, models.Display.ClientAspectRatio, GetWorldToImage(), models.Display.Multiplier, CalcFarplane(), models.Display.DisplayNegative, displayEx.FlatShading, texture.GetSrView(models.Display.ActiveLayer, models.Display.ActiveMipmap)); } dev.OutputMerger.BlendState = data.DefaultBlendState; }
public override void Draw(int id, ITexture texture) { if (texture == null) { return; } base.Draw(id, texture); var dev = Device.Get(); dev.OutputMerger.BlendState = models.ViewData.AlphaDarkenState; if (models.Display.LinearInterpolation) { shader.Run(models.Display.ClientAspectRatio, GetWorldToImage(), CalcFarplane(), texture.GetSrView(models.Display.ActiveLayerMipmap), helpTextures[id].GetSrView(models.Display.ActiveMipmap)); } else { marchingShader.Run(models.Display.ClientAspectRatio, GetWorldToImage(), CalcFarplane(), displayEx.FlatShading, texture.GetSrView(models.Display.ActiveLayerMipmap), helpTextures[id].GetSrView(models.Display.ActiveMipmap)); } dev.OutputMerger.BlendState = models.ViewData.DefaultBlendState; }