Blog


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

3D Graphics

Programmatical selection methods recap

Eyeshot offers a list of methods that allows to programmatically select entities or their sub-items in the scene. A brief recap of these method follows. Geometry Selection GetAllCrossingEntities Given a rectangle in screen coordinates, it returns all the visible Entities that cross it even partially as an array of SelectedItem and it also retrieves an arra…

by Federico Fucci | January 04, 2024 | Share

3D Graphics

Infinite Grid

 Non-maintained solution The proposed solution is not natively supported and may not work in all scenarios and versions. It is possible to draw an infinite grid by using a custom shader. This effect can be achieved by enabling this shader and drawing a square covering the entire wanted plane in the DrawViewportBackground method. Vertex shader: varying vec3 nea…

by Federico Fucci | October 06, 2023 | Share

3D Graphics

EDM Simulation using MultiFastMesh

  In this article, we explore a practical application of the new MultiFastMesh entity in a real-world scenario, specifically focusing on creating a fast and efficient 3D visualization for a wire-cut EDM simulation. Before diving into the details, we highly recommend reading our introductory article on MultiFastMesh. MultiFastMesh provides a way to batch all t…

by Leone Ruggiero | July 05, 2023 | Share

3D Graphics

MultiFastMesh

  In certain situations, there is a need to showcase a 3D object that consists of numerous smaller sub-parts, each with its own color and visibility settings. For instance, let's consider a 3D printing simulation where the final piece is built by adding a small amount of material at each step. If you were to recreate a 3D representation of this process, you would typica…

by Leone Ruggiero | July 05, 2023 | Share

3D Graphics

Custom Entity with EntityGraphicsData

Starting from Eyeshot 2023 the EntityGraphicsData class is abstract. This article explains the recommended approach for creating an instance of the concrete class in a custom Entity. For a complete sample, you can see the SelectTriangle source code. To create an instance you should override the Entity.InitGraphicsData() and use the RenderContextBase.Creat…

by Simone Maccaferri | April 18, 2023 | Share

3D Graphics

Limitations of AntiAliasing

Eyeshot offers the possibility to enable multisample anti-aliasing (MSAA), a technique that removes the artifacts known as jaggies from the raster image of a 3d scene. It can be activated like this: design1.AskForAntiAliasing = true; // in the Form/Window constructor design1.AntiAlisasing = true; This technique greatly improves the image quality, however, in eyeshot…

by Leone Ruggiero | April 14, 2023 | Share

3D Graphics

Fast and approximate world position under mouse cursor

Sometimes it is convenient to get a rough estimate of the 3d position of whatever is under the mouse cursor. It is possible to get that information by reading the depth value corresponding to the mouse screen location.  The method Workspace.ScreenToWorld() does exactly that. The following code sample demonstrates how you could use this approach to show an arrow a…

by Leone Ruggiero | April 06, 2023 | Share

3D Graphics

Screen-Space Ambient Occlusion

  Ambient occlusion is a shading and rendering technique used to calculate how exposed each point in a scene is to ambient lighting (source: Wikipedia). Starting from Eyeshot 2023, it is possible to enable the Screen-Space Ambient Occlusion effect (SSAO): a fast approximation of ambient occlusion computed in real-time.   Settings SSAO settings are accessed through t…

by Leone Ruggiero | March 14, 2023 | Share

3D Graphics

Image-based Silhouettes

Starting from Eyeshot 2023, it is possible to detect and draw silhouettes by leveraging the computational power of the GPU. To enable this feature you should set the relative property:  DisplayModeSettings.SilhouettesDrawingMode = silhouettesDrawingType.ImageBased;   Benefits Fast Independent from the polygon count Limitations Silhouettes are detecte…

by Leone Ruggiero | March 13, 2023 | Share

3D Graphics

Limitations of TempEntities

TempEntities are a powerful, useful, and natively supported tool, very handy when some Entities must be drawn over others as described in this article. However, they suffer from a number of limitations: They are neither affected by light nor by shadows effects (e.g they are drawn always in displayType.Flat);  The textures are not supported within TempEntitites. (e.g on…

by Federico Fucci | October 07, 2022 | Share