Learn about industry trends, news and how-tos from our product experts.


Eyeshot 11 build 713

We are proud to announce the availability of a new Eyeshot 11 stable build: 11.0.713 Highlights: Fixed ticket creation tool for latest changes to Zendesk API security requirements To learn more about this update, please visit the following page. 

June 28, 2018 | Share


Eyeshot 11 build 686

We are proud to announce the availability of a new Eyeshot 11 stable build: 11.0.686 Highlights: Wrong fonts and graphics adapter selection in Windows 10 1803 update ViewportLayout.FastZPR experimental switch. Fast Zoom/Pan/Rotate on huge datasets without geometry simplification. 2D collision detection UtilityEx.CheckDataIntegrity() method. Designed to ch…

June 19, 2018 | Share

3D Graphics

Changing edge color for a single entity

The following derived Mesh class demonstrates how to change edge color for a single entity. class MyMesh : Mesh { public Color EdgeColor = Color.Empty; public MyMesh(Mesh another, Color edgeColor) : base(another) { EdgeColor = edgeColor; } protected override void DrawEdges(DrawParams data) { data.RenderContext.SetColorWireframe(EdgeColor); base.DrawEdges(data); } }

by Alberto Bencivenni | November 24, 2017 | Share


Eyeshot issues with Telerik controls

Issue 1: Docking control When using Eyeshot control inside a Telerik docking control, the Eyeshot control disappears due to a dispose call. This behavior is time issue due to the built-in animation of the ToolWindow. Basically, when you docked, a Pane animation is triggered, Close event of the window is called at a later stage and the Eyeshot control is disposed.You…

by Marcello Stagni | October 05, 2017 | Share

3D Graphics

Colormap Mesh using Texture1D 🎨

The proposed solution is not natively supported and may not work in all scenarios and versions. In case you need to create a colormap Mesh that shows a smooth (or sharp) color transition for two adjacent vertices, you can use a Texture1D object. Here it is the code to create a custom mesh using Texture1D: using System.Drawing; using devDept.Eyeshot; using devDept.Eyes…

by Melissa Angelini | July 24, 2017 | Share

3D Graphics

Custom Texture Mapping on Mesh

Eyeshot provides four texture mapping types: Plate, Cubic, Cylindrical, and Spherical. In order to apply a texture on a shaped mesh, try rearranging the texture coordinates like in this sample. Source code: const string matName = "Bricks"; // Creates and adds a material Material mat = new Material(matName, new Bitmap("c:\\devdept\\bricks.jpg").ToByteArray()) { Environment = 0, Specula…

by Alberto Bencivenni | July 13, 2017 | Share


Immediate mode rendering in WPF 🚀

Refers to Eyeshot 10.0.991 and greater. The 3D graphics drawing in the Eyeshot native WPF control is not as fast as the Windows Forms one. Basically, we all need to blame Microsoft and their D3DImage WPF control implementation. The main reason behind this issue is the number of additional passes that D3DImage WPF control needs to do to allow composition with the re…

by Alberto Bencivenni | April 03, 2017 | Share

3D Graphics

Multicolored Mesh with transparency

Revised for version 12. Now, viewportLayout1 is of type Model. Requires Eyeshot >= 10.0.857  Here's an example on how to override the Mesh class in order to draw a semi-transparent mesh with Multicolor nature type. public class MyMesh : Mesh { public MyMesh(Mesh mesh) : base(mesh) { } protected override void DrawEntity(RenderContextBase context, object myParams) { byte alpha = C…

by Marcello Stagni | March 06, 2017 | Share

3D Graphics

Once upon a time the Entity.Selected property

Refers to Eyeshot 10.0.817 and greater.     Since Eyeshot version 1, entity selection was controlled by Entity.Selected property. The first evolution happened in Eyeshot version 9, where we introduced the ability to select object sub-items, like vertices, edges or faces (see the selectionFilterType enum). Even this new feature, by the way, did not resolve the ability to s…

by Alberto Bencivenni | February 22, 2017 | Share


WebGL Html template customization

With the WriteWebGL class, we provide a basic html page with Pan/Zoom/Rotate functions, but you can customize it by passing your html template as parameter. The html template must have some prerequisites: Eyeshot geometry entry point           <!-- EyeshotGeometry --> Eyeshot helper methods entry point   <!-- EyeshotScripts --> Three.js script - revision 68 (you can find it in the…

by Marcello Stagni | December 07, 2016 | Share