70001251 Render engine improvements and shadow support

Article 70001251
Type Wish
Product Engine
Version 7014
Date Added 1/6/2018 12:00:00 AM
Fixed 7.7015.0.1 (3/21/2018 12:00:00 AM)
Submitted by VectorDraw Team

Summary

Render engine improvements and shadow support

Solution

The render engine was improved in version 7015 in order to be more flexible , Improve performance, memory, and compatibility with Graphics card drivers
This change made our internal code much more simple which eventually will benefit all our clients since we will be able to be more flexible into wishes and fixes. Some of the initial benefits can be shown below.

The new render automatically exclude from list the entities that contains aligntoview or dpi linetypes or dpi hatch patterns
When a figure draw3dflag is excludefrom list the draw is more faster than the previous version of VectorDraw Framework


For a long time we were asked to add Shadows in our render which was something we avoided for several internal implementation reasons.... Our current render code made shadows possible.
A new property ApplyShadow of vdLight was added in order to support shadow.
Get/Set a boolean value indicating if the vdLight object will apply shadows in 3d drawing scene.
Only LightType.Directional and LightType.Spot TypeOfLight and not GlobalLight can apply shadows
Only one shadow light is applied from the lights collection. The first one from the beginning of the collection that has ApplyShadow and Enable true.
If you change any of the position or direction properties of the light then a full regen of the drawing is required in order to recalculate the new shadow.
Shadows are being applied from and to solid surfaces in Render , RenderOn , Shade and ShadeOn rendermodes of the layout.
Some shadow examples can be shown below
A House

Apply a light with shadows enabled.


And another one.

And with shadows.

Send comments on this topic.