VDF常见问题整理(六):如何实现混合渲染模式?

本系列教程整理了VectorDraw Developer Framework(VDF)最常见问题,教程整理的很齐全,非常适合新手学习,本节教程将会介绍如何实现混合渲染模式。

VectorDraw Developer Framework试用版下载


问:

    如何才能在绘制数字时混合渲染模式否有代码示例实现如下目标:

  1. 使用Wire3D渲染绘制vdPolyface。 

  2. 使用Shade / Hide / ShadeOn / Render模式渲染绘制所有其他图形

答:

    想要实现目标可以采用以下代码:

private void Form1_Load(object sender, EventArgs e){    vdFramedControl1.BaseControl.ActiveDocument.New();    if (vdFramedControl1.BaseControl.ActiveDocument.CommandAction.CmdSphere(new gPoint(0, 0, 0), 3.0d, 6, 6))     {         vdFramedControl1.BaseControl.ActiveDocument.Model.Entities[vdFramedControl1.BaseControl.ActiveDocument.Model.Entities.Count - 1].Label = "WIRE3D"; // the sphere will be drawn as Wire3D    }    vdFramedControl1.BaseControl.ActiveDocument.CommandAction.CmdBox3d(new gPoint(5, 0, 0), 3.0d, 4.0d, 2.0d, 0.0d);    vdFramedControl1.BaseControl.ActiveDocument.ZoomExtents();    vdFramedControl1.BaseControl.ActiveDocument.FreezeEntityDrawEvents.Push(false);    vdFramedControl1.BaseControl.ActiveDocument.GlobalRenderProperties.CustomRenderTypeName = "VectorDraw.Render.opengllist#VectorDraw.Professional.dll";     vdFramedControl1.BaseControl.ActiveDocument.OnDrawFigure += new vdDocument.FigureDrawEventHandler(ActiveDocument_OnDrawFigure);} void ActiveDocument_OnDrawFigure(object sender, VectorDraw.Render.vdRender render, ref bool cancel){    vdPolyface pface = sender as vdPolyface;    if (pface != null)    {        if (pface.Label == "WIRE3D")// You can check here by Label/XProperty/Handle/Type/Layer etc        {            vdFramedControl1.BaseControl.ActiveDocument.FreezeEntityDrawEvents.Push(true);            VectorDraw.Render.vdRender.Mode RMode = render.RenderMode;            render.RenderMode = VectorDraw.Render.vdRender.Mode.Wire3d;            pface.Draw(render);            render.RenderMode = RMode;            cancel = true;            vdFramedControl1.BaseControl.ActiveDocument.FreezeEntityDrawEvents.Pop();        }    }}

8月省钱式嗨购|Office 365三大版本免费送,云端办公更畅快!

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年7月12日
下一篇 2019年7月12日

相关推荐

发表回复

登录后才能评论