This 64-bit WD17 project transforms any 2D image into a 3D particle cloud.
The particle cloud is composed of 131072 points that can be animated in real time.
You can choose one of the images whose name is in the list at the bottom right.
Or use drag and drop from the explorer, with an image of type .png, .jpg, .gif, .tif, .bmp of any size.
The WINDEV code is the exact transposition of a C ++ project written with Visual Studio (source code available on request).
However, because of the slowness of p-code, the particle cloud animation is done by WDboost which is a 64-bit DLL written in C ++.
The call of the DLL is done from the procedure "gl_DrawScene".
If you want to compare the p-code speed with true compiled code, disable the call to the WDboost API, and see the difference.
The application is "skinned" with the "Scaff" theme of WinLIFT.
USE OF ZOOM:
You can use either the central mouse button or the vertical slider.
USE OF THE MOUSE:
The left button allows to see the image from all angles.
The right button allows you to perform a translation along the horizontal or vertical axis.
Choose from the list, one of the names prefixed by "pal_".
Select "pal_image.png" to return to the original colors of the image.
Note: the pallet change only concerns the particle cloud.
ABOUT THE SOURCE CODE:
It is intended for programmers who want to learn more about the syntax of the low-level Windows SDK,
the direct use of the "Flat API" means better speed, and drastic reduction of the size of the WINDEV framework.
It only requires 3 DLL:
1 - "Virtual Machine"
2 - "Mathematical functions"
3 - "Standard functions"
The entry point of the program is in the procedure whose name is "MainWindow" which is called directly from the "project code".
There is no window or WINDEV field, the main window and the child windows are created with the "CreateWindowEx" API.
The GDImage / OpenGL container is subclassed in the "gl_WndProc" function in order to interact with the mouse and manage drag and drop.
Real-time processing uses a timer with a DirectDraw compatible 60Hz frequency.
The "SkinEngine" "WinLIFT" works in composited DWM mode (see the gradient drawn around the main window when moved over a white background).
Moving or resizing the window does not block the animation when it is active.
WHAT'S THE POINT :
In addition to the fun aspect, the point cloud can serve:
- To geodetically render terrain.
- Represent temperature levels with finer finesse than conventional weather charts.
- Analyze surface defects of various materials.
The use of color palettes (inspired by the processing of medical images) facilitates the analysis of monochrome images.
USE OF 64-bit:
This is a mandatory to perform fast OpenGL graphic animations, morover the latest nVIDIA technology is only available in 64-bit.
Note: This project should work with all versions of WINDEV.
GDImage64.dll and WinLIFT64.dll are programmed with Visual Studio in C/C++ procedural mode (for speed, and small size).
Important: You must unblock the ZIP before uncompressing the files to avoid any problems with UAC.