Skip to content

jeremjlr/MulDisplay

Repository files navigation


MulDisplay - Showcase/example available.

MulDisplay is a .NET all in one (2D/3D) display control with some embedded tools. It can be used to easily display camera frames, 3D point clouds, 3D objects, 2D/3D overlays, etc..

Table of Contents

  1. About The Project
  2. FAQ
  3. Roadmap
  4. Licensing
  5. Contact

About The Project

The control uses a custom drawing context embedded in a WinForms panel HWND.
This allows for optimized and efficient drawing.

It is designed to be used with only a few lines of codes with either WindowsForms or WPF.
The purpose of this tool is to encapsulate as much 2D/3D as possible in order to have a simple, lightweight and extremely easy-to-use control.
The goal is to provide a quick and easy way to display things in order to either visualize or simply debug algorithms.

NuGet : https://www.nuget.org/packages/MulDisplay
Examples : https://github.com/jeremjlr/MulDisplay/releases
Documentation : https://jeremjlr.github.io/MulDisplay/index.html

This control requires the application to be built for x64.

You can easily switch from 3D to 2D using the right click menu.
You can use the mouse left click/middle click/wheel to move the camera.
Double click to go fullscreen.

I highly recommend checking out the examples to understand how to use the control but you can get started very quickly, it only requires a WindowsForms panel, whether it's native WindowsForms or embedded in a WPF App :

DrawingControl myDrawingControl = new DrawingControl(Driver.Direct3D, ViewMode._3D, false, false, 5, 1f, 4, false, false);
myDrawingControl.Dock = DockStyle.Fill;
myPanel.Controls.Add(myDrawingControl);

You can then use myDrawingControl and myDrawingControl.DrawingContext to use all the control's features.






FAQ

I'm getting errors when trying to run examples.
Make sure to have at least DirectX 9.0c/OpenGL4.5, the correct .NET version and Microsoft Visual C++ Redistributable Package installed.

.NET Core ? .NET Framework ?
MulDisplay is being developed with .NET 10 but is compatible with multiple previous .NET versions.
I recommend upgrading your .NET version as I do not guarantee that future versions will also be compatible with older versions.

Roadmap

  • Upgrade the engine to the latest Irrlicht release
  • More supported formats (or better support of formats and their variants in general) (current MulDisplay prefered formats are .ply and .obj)
  • Fix of known & reported bugs
  • Add new features (depending on demands, if any)

Licensing

MulDisplay is provided free of charge for use in personal and commercial projects.
Redistribution, modification, reverse engineering, or rehosting of the package is prohibited without explicit permission.
Any mention of the author or the project is welcome.

Libraries used by MulDisplay :

Contact

If you want to reach out to me for any reason, have any question or suggestion, feel free. - jerem.jlr@gmail.com - www.github.com/jeremjlr

About

MulDisplay is a .NET all in one (2D/3D) display control with some embedded tools. It can be used to easily display camera frames, 3D point clouds, 3D objects, 2D/3D overlays, etc..

Topics

Resources

License

Stars

2 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages