Real3d Scanner V2 » Development History

New features and changes in version 2.2.0

  • Fixed zooming.
  • Some fixes in Virtual 3D Scanner.
  • Some other changes.

  • New features and changes in version 2.1.1

  • Added import and export support of point clouds and meshes in Batch Process.
  • Fixed UAC permission issue by moving settings and sample folders to My Documents folder.
  • Fixed resize issue.
  • Fixed drag and drop of files.

  • New features and changes in version 2.1.0

  • Added a Screen Video Recorder which has many options for recording.
  • Added a new method of scanning which brings high quality texture acquisition support.
  • Some fixes in the SL scanning module.
  • Updated and improved the Real-Time Virtual 3D Scanner. HD texture can be captured and rendered now.
  • Fixed a serious bug in xyz file format.
  • Improved Options Dialog and added zoom, spin, and pan settings.
  • Fixed and improved 5 and 7 steps phase shifting methods.
  • Fixed (Remove Last Scanned Patch).

  • New features and changes in version 2.0.2

  • Added custom resolutions feature in camera module.
  • Fixed image saving issue in non-administrator accounts.
  • Some minor fixes.

  • New features and changes in version 2.0.1

  • Now scanned objects can be remeshed with colors preservation.
  • Fixes and changes in live camera module.
  • Added color support in point clouds file format.
  • Added 7-step phase-shifting method to scan 3D objects.
  • Inverted mouse zooming direction.
  • Fixes in point cloud smoothing.
  • Added 3D scanning from a AVI video file.
  • Fixed minor bug in import file filters.
  • Many changes in GUI, and several changes and improvements in SL scanning modules.
  • Fixed a bug in the display generated pattern.
  • Build 64 bit version for x64 Windows for large mesh/pointclouds handlings.

  • New features and changes in version 1.8.0

  • Added a powerful phase unwrapping algorithm which solves discontinuities problem during 3D scanning.
  • Added a powerful refine smooth algorithm for pointclouds and meshes.
  • A lots of improvements in the scanning module. Switching of fringe patterns is now merged into the Live camera module.
  • Major fixes in the Live camera module, thread, recording, etc.
  • Improved all phase-unwrapping algorithms, made them robust and efficient for noisy and complicated surfaces.
  • Fixed a bug that occurred when a user tried to import a corrupted image.
  • Fixed capturing colors during 360 degree scanning.
  • Added various filters into the Colorize module.
  • Improved virtual 3D scanner by adding various phase-unwrapping algorithms which corrects discontinuities.
  • Now any theme can be selected as a default startup theme.

  • New features and changes in version 1.7.0

  • Added capturing of color and texture feature in real-time structured light 3D scanning as well as in the virtual 3D scanner.
  • Added limited export support of scanned mesh.
  • Added import/export support of 2D images. Now 2D images can be experienced in 3D virtual world.
  • Added save settings feature. Now important settings will be auto-saved at exit and auto-imported as startup.
  • Added a fast mesh filter which will be very helpful for triangulation and reconstruction.
  • Added various mesh filters (criterias for filtering are normals, radius, and neighbors, etc).
  • Added a filter Unused Points Removal from Meshes.
  • Added color support in U3D 3D PDF file format.
  • Improved camera module by adding various camera resolutions and filters.
  • Added a feature in camera module that is Display Live CAM in 3D Environment.
  • Added DICOM images to STL/triangular mesh conversion support.
  • Added many window sizes. Now any window size can be fixed as a deafult startup window size.
  • Fixed zooming.
  • Fixed fast 3D triangulation algorithm.
  • Fixed camera image capturing and patterns projection operations.
  • Fixed several memory allocation errors.
  • Fixed OBJ, PLY, CTM, 3DS file formats.
  • Improved the whole algorithms for preserving color information while processing.
  • Improved batch processing algorithms for point clouds and meshes.
  • Improved import of multifiles support.
  • Improved append feature for multiple 2D/3d files.
  • Improved speed of real-time structured light 3D scanning.
  • Major fixes and gui changes.
  • Single instance of 3DRACS is activated as default. It makes easiness for viewing multiple files just by double clicking.

  • New features and changes in version 1.6.0

  • Added batch import for meshes. Several meshes can be aligned/registered, triangulated, and filtered now.
  • Added incremental registration for point clouds.
  • Added 360deg scanning with multiple patches and auto-alignment/registration.
  • Increased the scanning speed of structured-light 3D scanner.
  • Added support of 3D PDF format by converting 3D mesh into U3D (pdf ready) file format.
  • Added several noise/outliers/downsample filterers.
  • Added feature preserved based Susan smoothing filter.
  • Added fast 3D triangulate algorithm based on Greedy Projection.
  • Added triangles removal filters based on Area or Edge Length or ID number.
  • Fixed memory allocation issues. Now 10 million triangles can be easily rendered.
  • Improved camera module by adding smoothing filters and RGB splitters.
  • A large number of fixes and improvements.
  • A lots of general UI changes.

  • New features and changes in version 1.5.0

  • Added support of processing several point clouds at one time
  • Added support of mesh generation from 2D, 3D, and unorganized points
  • Added support of point cloud downsampling, outlier removal, merging, registration, etc.
  • Added support of accurate mesh registration/alignment, hole filling, merging, voxelization, etc.
  • Added support of mesh decimation which will reduce data size while maintaining fidelity
  • Added support of fast mesh smoothing
  • Added support of OBJ loader with mtl and fixed texture issue
  • Added drag and drop support
  • Improved subdivision, smoothing, fairing, algorithms and achieved maximum speed
  • Improved materials and colors support
  • Fixed and improved zooming and panning
  • Fixed texture mapping issues
  • Improved Real-Time Virtual 3D Scanner
  • Some GUI changes

  • New features and changes in version 1.4.0

  • Added import and export support of more than 55 well-known 3D geometry file formats
  • Added Quad mesh support
  • Added Remove Duplicate Vertices and Triangles feature
  • Added Shaders support. User will be able to create/apply his/her own OpenGL shaders
  • Added random materials generation feature
  • Added Sectioning views feature
  • Added Silhouette Edges feature
  • Added support of selecting an image/texture as a background
  • Added Parallel or Orthographic view mode
  • Fixed patterns projection image depth. Now color and BW both can be switched
  • Fixed a bug that was occurred when a user tried to initialize the camera during patterns switching
  • Fixed texture mapping issues
  • Enhanced colors and transparency feature
  • Improved Structured Light 3D scanning module
  • Improved Virtual 3D Scanner
  • Improved CNC Simulator module
  • A lot of improvements for Point Cloud rendering

  • New features and changes in version 1.3.0

  • Added camera calibration
  • Added system properties
  • Added Fit mesh in a Box feature
  • Added Borders in Phase Shifting Patterns window
  • Added resize option to all scanning related windows
  • Added uninstall support to previous version
  • Fixed a bug when the user does not turn off Real-Time Surface Scan
  • Fixed animation angle, now model will rotate along y-axis
  • Fixed flip normals by flipping the mesh triangles
  • Fixed normals were not be updated to VBO when we tried to recompute them
  • Fixed *.obj
  • Fixed graphs module window
  • Fixed Real-time SL scanning module. Default settings set to Web Cam
  • Major performance improvements and some GUI changes

  • New features and changes in version 1.2.2

  • Added Realtime surface reconstruction feature (Scan anything just in 4 clicks)
  • Added mesh cleaning (Pick & Delete) feature
  • Added merge feature for multiple models rendering
  • Added graphs for analysis of reconstructed surface
  • Added video recording
  • Added 3D-Studio (*.3ds) file format support
  • Added scene animation
  • Added Auto-update support
  • Major performance improvements in 3D Scanning module
  • Enhanced 3D scanning speed by creating separate threads
  • Fixed OBJ file loader
  • Fixed many many serious bugs
  • Fixed installation issue in WinXP, now fully compatible with XP

  • New features and changes in version 1.2.1

  • Added Real-time Virtual 3D Scanner
  • Added color gradients
  • Major performance improvements
  • Improved structured light 3D scanning
  • Enhanced smoothing/fairing algorithms
  • Enhanced real-time 3D rendering
  • Fixed many bugs

  • New features and changes in version 1.1.0

  • Added Real-time Structured Light 3D Scanning module that includes Camera, Fringe Pattern Generation, and Real-time Phase Shifts modules.
  • Added various feature preserving smoothing/fairing algorithms.
  • Added Polygon Reduction Algorithm.
  • Added many many other features as well.
  • Improved various algorithms, e.g. Loop Subdivision.
  • Improved many other algortihms, speed, and GUI.


  • May 2014
    1. Added a Screen Video Recorder which has many options for recording.

    April 2014
    1. Fixed and improved 5 and 7 steps phase shifting methods.
    2. Added Plot display of generated phase shifted fringe patterns.
    3. Fixed 'Remove Last Scanned Patch' features.
    4. Several GUI changes and improvements.
    5. Fixed a bug in Virtual 3D Scanner.
    6. Added a new method of scanning which brings high quality texture acquisition support.
    7. Updated the entire system with new methodology of 3D scanning.
    8. Some fixes in the SL scanning module.
    9. Fixed a serious bug in xyz file format.
    10. Improved Options Dialog and added zoom, spin, and pan settings.
    11. Updated and improved the Real-Time Virtual 3D Scanner. HD texture can be captured and rendered now.
    12. Fixed some other issues.

    August 2013

    1. Major fixes in UI.
    2. Now any theme can be selected as a default startup theme.
    3. Added invert and gamma correction features to Colorize module.
    4. Added brightness, contrast, and gray scale features to Colorize module.
    5. Fixed colors during scanning.
    6. Fixed recording of live video.
    7. Fixed camera module thread.
    8. Major bug fixes.
    9. Added smoothing algorithm based MLS algorithm.
    10. Improved pattern switching module and merged into camera module for easiness and speed.
    11. Fixed display of fringe pattern in the Frine Pattern Generation module. Before intensity was not changed when we tried to change the intensity and wanted to display fringe image by pressing Display Image.
    12. Improved phase unwrapping algorithms, now there will not be any discontinuities in the scanned mesh/pointcloud.
    13. Fixed a bug that will occur when user try to import corrupted image file.
    14. Added unwrapping phase algorithms menu in virtual 3D scanner and real-world real-time 3D scanning.
    15. Improved all phase unwrapping algorithm by adding residual removal.
    16. Fixed multi-level algorithm.
    17. Added Quality Guided phase unwrapping algorithm.

    July 2013

    1. Changed some GUIs.
    2. Fixed some unhandled exceptions.
    3. Added default windows sizes. Now user will be able to set any dimension for the main window at start up. Whenever 3DRACS opens, it will always open with the selected window dimensions.
    4. Added DICOM (*.dcm) file format import support, now DICOM images can be converted into STL or triangular mesh.
    5. Added a feature in camera module that is Show Live Camera in 3D Display.
    6. Fixed some texture mapping issues.
    7. Added PNG support of PNG transparency.
    8. Fixed a bug in the 360 scanning, allocation for triangles must be multiplied with 3, I forgot to place 3 there. It is a bug in v1.6.0.
    9. Fixed a unhandled exception in the Real-time 3D Scanning module. This was due to camera module. There was a issue in retrieving camera frame.
    10. Fixed a terrible exception bug in the Virtual 3D Scanner.
    11. Added a algorithm which will correct the triangle edges winding. I was just lost to write this algo.
    12. Added some more filters in 2D image module.
    13. Some other rendering changing.
    14. Added color support in U3D 3D PDF file format.
    15. Added camera resolutions to camera module.
    16. Fixed camera image capturing operation.
    17. Fixed Fast 3D Triangulation algorithm for batch import.
    18. Added some more image filters.
    19. Fixed some issues.
    20. Added moving object detection.
    21. Added 2D image filters and operations.

    June 2013

    1. Improved IOS scanner module, now IOS hardware can be easily managed. Added smoothing filters to IOS module.
    2. Added fast mesh filter to all scanning modules.
    3. Fixed a bug in virtual 3D scanner.
    4. Fixed zooming factor.
    5. Fixed virtual 3D scanners unwrapping algorithm.
    6. Fixed a bug/exception in fast mesh filter.
    7. Keyboard shortcuts and mouse controls dialogs.
    8. Several GUI changes.
    9. Improved about window.
    10. Added unused points removal from mesh filter.
    11. Added scanned images color map display and save feature.
    12. Fixed adjacency of triangle. It took so much time, its like hell for me, I am dealing with it since 4 years but still it is not full optimized.
    13. Added various post-processing of meshes filters. Not just point cloud but even meshes can be filtered with preservation of colors.
    14. Improved mesh filters and optimized them extreme fast for real-time scanning.
    15. Fixed several memory allocation errors.
    16. Added various mesh filters. Criteria for filtering are normals, radius, neighbors, etc. These filters could be very useful for post-processing of scanned object.
    17. Reviewed whole system and added colors data structures. It is now necessary because when a user will scan a object with its texture, all post-processing filtering and modules should preserve the color information.
    18. Real-time 3D scanning with texture/color information has been successfully experimented, and it is working perfect.
    19. Solved one terrible bug which was occurring in bottom grids.
    20. Added scanning with texture in the off line scanning with and without reference.
    21. Successfully scanned objects with colors in virtual 3D scanner. Now texture can also be captured during scanning.
    22. Added mesh filter to batch process. Mesh can be filtered by using normal vectors angle criteria.
    23. Added save settings feature. Now important settings will be auto-saved at exit and auto-imported as start.
    24. Added a mesh filter based on neighbor triangles. It will be very useful when 2D triangulation and after that registration will be performed.
    25. Single instance of 3DRACS is activated now. This means that whenever a user double click onto the 3DRACS supported file in windows, it opens with that file, and if a user want to open any other file without closing/terminating the first instance of 3DRACS, then the file opens in the same first instance. Window will not initiate the second instance but the file will be opened in the already opened instance. If a user wants multi-instances of 3DRACS then, the user should run second instance from the desktop icon or start menu icon.
    26. Fixed append module with images and point clouds.
    27. Added import support of pictures or 2D images. Now 2D images can be experienced in 3D virtual world.
    28. Fixed append files feature.
    29. Now more than one files can be imported from the File->Import menu.
    30. Fixed recent files list with full path of the file.
    31. Added there new themes for the whole GUI, buttons, sliders, menus, etc.
    32. Added smoothing filters and RGB splitter to the camera module.
    33. Some UI fixes.
    34. Added recent files list.

    May 2013

    1. Added recent files list.
    2. Some UI fixes.
    3. A lot of general fixes and improvements.
    4. Did many major changes in order to optimize the speed and memory allocation.
    5. Revised the whole data structure and removed the additional un-necessary pointers which takes a lot of memory.
    6. Added support of 3D PDF format by converting 3D mesh into U3D file format.
    7. Added Remove triangles by (Area or Edge Length or ID number) feature.
    8. Added Show/Hide triangles ID feature.
    9. Solved every issue related to 360 deg scanning. Now everything is working perfectly. Tested with a cup by acquiring 25 patches/surfaces with 1.7 million triangles, memory consumption was 450 MB.
    10. Increased the capturing speed of SL-Scanner of 3DRACS.
    11. 360 deg scanning is added and tested. Now multiple patches can be scanned with auto-alignment/registration feature.

    April 2013

    1. Added a triangulate algorithm based on Greedy Projection Triangulate.
    2. Added noise/outliers/NaNs removal filterers.
    3. Added Susan smoothing filter.
    4. Added auto scanning procedure for the 2nd version of the Intraoral scanner.
    5. Added incremental scanning with registration process. Now multi-scans of different views can be performed at a time.
    6. Interface with the IOS hardware is created using new DLL.
    7. added GUI of 2nd version of Intraoral Scanner.
    8. Fixed PLY loader.
    9. Fixed mesh decimation issues.

    March 2013

    1. Fixed memory allocation issues. Now 10 millions triangles can be rendered using PLY, OBJ, FCS file formats.
    2. Fixed views directions of 3D axis and mesh model.
    3. Added batch import for meshes. Several meshes can be aligned and registered now.
    4. Fixed some 3D geometry formats.
    5. Fixed several issues related to memory leaks and allocations. 5 millions triangles can be rendered now on 32 bit Windows XP with 3.2 GB RAM.
    6. Updated GUI for Intraoral Scanner.
    7. Added FCS loader. I think FCS (Face/Triangle data) is a RapidForm Software format.
    8. Added Incremental Registration for Point Clouds.
    9. Added PCL to the project, compiled, and tested.
    10. Dates: 2013/03/05 - 8:26 PM - Version 1.6.0
    11. Fixed batch process for point clouds processing.

    February 2013

    1. Added export feature for Batch Process of Point Clouds.
    2. Fixed GUIs and some other issues.
    3. Dates: 2013/02/19 - 9:35 PM - Version 1.5.0
    4. Fixed ICP (Iterative Closest Point) registration.
    5. Fixed Append feature for OBJ file format.
    6. Added drag and drop files feature. User will be able to import files using drag and drop. But User should drop files on the top 'Menu' or bottom 'Progress Bar' area.
    7. Added smoothing feature for point clouds.
    8. Added downsampling for point clouds.
    9. Fixed Delaunay2D triangulate, registration, merging.
    10. Added overlap point clouds removal for Batch Process.
    11. Fixed and clean some mess. Update some GUI.
    12. Added Batch Triangulation, Registration, and Merger.
    13. Added Batch Importer for point clouds. Multiple *.pts files can be important.
    14. Added overlap points removal feature.
    15. Added Triangular mesh registration using ICP (Iterative Closest Point) algorithm.
    16. Improved speed for accumulation of adjacent vertices, triangles, edges. Now extreme speed is achieved for smoothing, subdivision, and other algos.
    17. Dates: 2013/02/06 - 11:58 PM - Version 1.5.0
    18. Added OBJ loader with mtl.
    19. Added surface and point cloud registration.
    20. Added Voxelization, Mesh merging features.
    21. Added Mesh Generation from Unorganized Points.
    22. Added Hole Filling, Mesh Decimation, Mesh Smoothing algorithms.
    23. Fixed zooming and panning using wheel and MMB. Now whatever the size of the input model it will be zoomed or panned perfectly.
    24. Fixed camera position. The situation occurs when a model has too large dimensions.
    25. Added UV texture coordinates support in OBJ format. now any uv texture format file can be converted into OBJ.

    January 2013

    1. Fixed Remove Duplicate Vertices feature with colors.
    2. Added left rotation direction in scene animation feature.
    3. Added rotation angles in clip planes.
    4. Some GUI changes.
    5. Added View Cross-sections using clip planes.
    6. Fixed WRL loader.
    7. Added Remove Duplicate Vertices from Mesh and Point Cloud feature.
    8. Added Quad mesh support in OBJ file format.
    9. Added Silhouette Edges feature.
    10. Added Torus mesh generation.
    11. Updated OBJ file format.
    12. Fixed offset surface feature.
    13. Added random materials generation feature.
    14. Added original materials to 3DS file format.
    15. Changed default image format from *.jpg to bmp.
    16. Modified Scale feature with New and Old Mesh.
    17. Added Material color support in VRML *.wrl files.
    18. Added X3D file format support.
    19. Set 3DRACS as the default application for the mesh files in Windows. 3D model can be visualized by double clicking on the file and it will open in 3DRACS.
    20. Dates: 2013/01/22 - 1:57 PM - Version 1.4.0
    21. Added PTS (with transformation matrix) file format support.
    22. Added mesh features into Point Cloud rendering. A lot of improvements have done.
    23. Added point clouds merging feature.
    24. Added VBO rendering for point clouds.
    25. Added duplicate triangles feature.
    26. Added all file formats support for merge feature.
    27. Fixed VRML WRL export format. Now VRML WRL to COLLADA DAE, COLLADA to VRML can be converted easily.
    28. Fixed a bug that was occurred when subdivide the mesh during uv texture rendering.
    29. Fixed default uv texture.
    30. Added materials in Collada Exported file.
    31. Fixed Random Material Generation feature when we want to apply materials after removing duplicate vertices.
    32. Fixed COLLADA DAE loader. Now Nuxes.dae model can be opened like wow.
    33. Fixed some export file format such as xgl.
    34. Added export support of Ogre mesh.xml file format.
    35. Added import support of various other file formats.
    36. Added import support of these file formats (X, MD2, MD3, MD5, ASE, AC, DXF, LXO, LWS).
    37. Added import and export of colors in PLY file format.
    38. Added QUAD mesh support in PLY file format.
    39. Fixed ASC, XYZ file formats.
    40. Video recording codec changed to MSVC because of windows compatibility. 30 fps was too fast for webcams so decreased to 25 by default.
    41. Fixed a bug that occurred when a user switched to other camera view during remonstrated surface rendering in Real-Time Virtual 3D Scanner module.
    42. Added XYZ2RGB colorize feature.
    43. Fixed OBJ loader by considering all possible cases in order to read faces.
    44. Fixed Remove Duplicate Vertices feature with colors.
    45. Added left rotation direction in scene animation feature.
    46. Added rotation angles in clip planes.
    47. Added View Cross-sections using clip planes.
    48. Added Remove Duplicate Vertices from Mesh and Point Cloud feature.
    49. Added Quad mesh support in OBJ file format.
    50. Added Silhouette Edges feature.
    51. Added Torus mesh.
    52. Dates: 2013/01/09 - 10:32 AM - Version 1.4.0
    53. Updated OBJ file format.
    54. Fixed offset surface feature.
    55. Added random materials generation feature.
    56. Added original materials to 3DS file format.
    57. Changed default image format from *.jpg to bmp.
    58. Modified Scale feature with New and Old Mesh.
    59. Added Material color support in VRML *.wrl files.
    60. Added X3D file format support.

    December 2012

    1. Killed OpenCV dlls. No need now.
    2. Fixed patterns projection image depth. Now color and BW both can be switched.
    3. Added binary STL, DirectX, RWX, XGL exporters.
    4. Added support of individual translate or rotate after merging.
    5. Fixed COLLADA (DAE) loader by adding support of multiple triangle sections/childs of a geometry/object.
    6. Added support of COLLADA *.dae format. Currently only triangulate format is added.
    7. Fixed PLY loader when it has normals in it.
    8. Added 3D Studio (.3DS) format exporter.
    9. Fixed setup deployment.
    10. Fixed various issues relevant to point cloud file import. All triangular related features should be disabled when point cloud file is imported.
    11. Fixed texture mapping issue. Width of texture should be multiply of 4.
    12. Fixed texture image by flipping along horizontal direction.
    13. Added support of selecting an image/texture as a background.
    14. Added OpenCTM compressed format *.ctm and LightWave Object format *.lwo file format support.
    15. Changed GUI of background colors window.
    16. Added View Modes, Perspective or Ortho.
    17. Added background gradient and colors.
    18. Enhanced Colors and Transparency feature.
    19. Added OGL info
    20. Added OGL Shaders. User will be able to create/apply his/her own OpenGL shaders.
    21. Fixed transparency in smooth shade mode.
    22. Fixed WRL file format.
    23. Added IDTF, DXF, IV export formats.
    24. Fixed dimensions display in BBox.
    25. Fixed a bug that was occurred when the user initialized the camera during patterns switching.
    26. Added rotation options in 3D Scanning Module.
    27. Added and fixed file formats for import and export.
    28. Added various file formats for import and export such as PMesh, OFF, VRML v1.0, OBJ (type 3), X3D, XYZ, m, etc.
    29. Added support of VRML 1.0 & 2.0 file format.

    November 2012

    1. Completed merge feature by adding more files format support.
    2. VBO will be ON if the imported file has more than some specific number.
    3. Added Auto-update support.
    4. Added multi OS support, Setup will detect OS version, then install only compatible setup.
    5. Added scene animation.
    6. Fixed a bug when the user does not turn off the Real-Time Surface Scan but try to subdivide or merge etc.
    7. Added system properties. User can set the value of for example: size of Normals, axis, points, grids, and speed of animation etc.
    8. Added Fit mesh in a Box feature. Mesh will be normalized into unit bounding box (-1, -1, -1) to (1, 1, 1).
    9. Fixed animation angle, now model will rotate along x-axis.
    10. Fixed flip normals by flipping the mesh triangles.
    11. Fixed normals were not be updated to VBO when we try to recompute them.
    12. Added Borders in Phase Shifting Patterns window as suggested by Daniel.
    13. Added resize option to all scanning related windows in order to save screen space. (suggested by Daniel)
    14. Added uninstall support to previous version. Installer will uninstall the previous version first then install the new one.
    15. Added camera calibration module.
    16. Dates: 2012/11/19 - 12:16 PM - Version 1.3.0
    17. Fixed *.obj
    18. Fixed graphs module window.
    19. Fixed Real-time SL scanning module. Default settings set to Web cam.

    October 2012

    1. Improved real-time surface scanning.
    2. Fixed OBJ file loader. Error was occur due to slashes of Face section.
    3. Improved View Controls.
    4. Added Show and Export Graph feature.
    5. Added a new feature Merge. Now we can render multiple files at once.
    6. Fixed a bug when we want to use the Real-time Scanning module with Virtual 3D Scanner.
    7. Improved 3D point cloud computation algorithm by reducing sin() cos() funtions. It reduced too much speed in real-time.
    8. Improved Real-time Scanning Module by creating a new thread for point cloud and surface extraction.
    9. Added the full setup of Intraoral scanner. Phase-shifts are taken by piezoelectric transducer with some time-delay.
    10. Fixed OpenCV bug. When we tried to use large resolution camera 1280x1024, OpenCV always initialized with 640x480, It doesnt detect original resolution of the camera automatically. So, In this case we have to set the original resolution of the camera, otherwise we always get 640x480 resolution.
    11. Fixed bug in Camera Module, if camera was running, then it should not be initialized again.
    12. Fixed Pick&Delete mouse dragging during Pan.
    13. Added grids in the display.
    14. Fixed polygon reduction algorithm.
    15. Fixed barycenter bug.
    16. Fixed pick and delete feature.
    17. A bug is found by named Pavol in v1.2.1. When we save the generated fringe patterns, patterns were saved but with total black color. Now fixed.
    18. Fixed GUI and some other bugs.
    19. Fixed a bug in Reset to Original Shape.
    20. Added color to picked triangles and vertices.
    21. Added Pick And Delete Algorithm for regular imported mesh.
    22. Made compatibility between Real-time surface scanning and others scanning modules.
    23. Found bug when when user tried to scan high resolution 2000x2000 images. The allocation memory goes out of capacity.
    24. Added a feature in which point cloud to triangular conversion can be implemented internally (real-time or offline).
    25. Added real-time surface scan feature. Now user can scan triangular mesh in real-time.
    26. Fixed a serious bug in Model Reduction algo.
    27. Improved mouse controls.
    28. Improved vertex normals algo.
    29. Added support of 3D-Studio *.3ds file format. Even user will be apply to process this format. All objects are merged into single mesh data. So, that there will not any difference between ply and 3ds. Right now, colors are generated randomly for each object.
    30. Fixed bug in G-code generation mode. When user clicked on the G-code generation check btn, error occurred when cancel was pressed except to put input. Now fixed.
    31. Fixed some opengl stuff relevant to perspective matrix.
    32. Fixed Polygon Reduction algorithm. The error was happened when nb_vertices becomes less than 1. Now the reduction process will stop on one triangle.
    33. Fixed planes of model reduction algo.
    34. Fixed Pick And Delete feature and made compatible with Structured Light 3D Scanning module.
    35. Added Real-time and Offline modes in Pick And Delete feature.
    36. Fixed a serious bug in Multi-Level Quality Guided phase unwrapping algorithm.
    37. Added Save buttons in Scanning Modules. Now we can save real-time phase-shifted images to the disk. Both virtual and real world scanning will have this feature.
    38. Added Pick And Delete Feature. Using this feature, we can remove the noisy or unwanted scanned point cloud during Real-time 3D Scanning. It will work with both scanning module, Virtual and Real World 3D Scanning.


    September 2012

    1. Dates: 2012/09/28 - 5:01 AM - Version 1.2.1
    2. Added color gradients into Colorize feature.
    3. Added Transparency feature.
    4. Fixed bounding box bug with materials.
    5. Dates: 2012/09/26 - 10:15 AM - Version 1.2.0
    6. Fixed bug in smoothing algos.
    7. Some changes in Virtual 3D Scanner.
    8. Fixed Screenshot capturing area. Extra black pixels were written to image.
    9. Changed GUI of Real-time 3D Scanning module because the window size was awkwardly big.
    10. Fixed a very serious bug in smoothing/fairing algorithms. The system went to not responding when the model has abnormal/irregular triangles.
    11. Dates: 2012/09/20 - 8:31 AM - Version 1.2.0
    12. Added shadow feature to virtual 3D scanner. Unfortunately, the file in which I coded shadow mapping got corrupt because of some Visual Studio bug. It was worst situation for me. Anyways, shadow mapping is not important, I included just for the sake of concept and to make realistic environment.
    13. Fixed bug when we try to reinitialize Virtual 3D Scanner window.
    14. Fixed time delay between phase-shifting fringe patterns.
    15. Added Borders Smoothing feature.
    16. Dates: 2012/09/16 - 8:02 PM - Version 1.2.0
    17. Fixed *.obj loader. Vertex normals were not drawn by selecting show vertex normals.
    18. Fixed texture loader. Error happened when VBO mode was on.
    19. Dates: 2012/09/13 - 6:34 AM - Version 1.2.0
    20. Optimized the Real-time Virtual 3D Scanning by reducing a number of for loops.
    21. Added Slow/Fast feature. User can select any of them. Fast mode can be better for high resolution scanning.
    22. Fixed some issues in Virtual 3D Scanner.
    23. Dates: 2012/09/10 - 4:22 AM - Version 1.2.0
    24. Real-time Virtual 3D Scanner has been added successfully in v1.2.0.
    25. Fixed GUI and some other errors


    August 2012

    1. Dates: 2012/08/30 - 10:30 PM - Version 1.1.0
    2. Added Lights features.
    3. Improved file import, gui, menus, and many many others things.
    4. Dates: 2012/08/28 - 5:11 AM - Version 1.1.0
    5. Fixed Polygon Reduction algorithm, now works like a charm. Tried to optimize the speed, got success.
    6. Developed the compatibility between subdivision, smoothing, and reduction modules. It is so complicated indeed.
    7. Added some other features like flip normals etc.
    8. Dates: 2012/08/27 - 4:55 PM - Version 1.1.0
    9. added Polygon Reduction algorithm, works perfect but not optimized. (Experimental Version).
    10. Fixed many other errors.
    11. Dates: 2012/08/22 - 2:33 PM - Version 1.1.0
    12. Optimized all smoothing and subdivision algorithms, and now the speed of accumulation of adjacent data is increased by more than aprox. 50 times than previous.
    13. Fixed many many bugs. Now more than 1 million triangles can be operated easily.
    14. Dates: 2012/08/18 - 3:08 PM - Version 1.1.0
    15. Improved algorithms using adjacent information.
    16. Fixed import file extensions. Files with capital letter extensions were not allowed to import. Now fixed it.
    17. Dates: 2012/08/16 - 12:25 PM - Version 1.1.0
    18. Fixed and optimized Taubin Smoothing algorithm.
    19. Added one new feature preserved based mesh fairing algorithm. Reference: A Comparison of Mesh Smoothing Methods, Alexander Belyaev, Yutaka Ohtake '2003.
    20. Revised whole system with new vertex computation algorithm that based on Nelson Max'1999 Angle Weights.
    21. Optimized lines rendering feature.
    22. Optimize CNC cutting section with new vertex normal computation algorithm.
    23. Many many features are changed and revised.
    24. Dates: 2012/08/15 - 9:21 AM - Version 1.1.0
    25. Added a new feature in which Border Edges can be visualized in Red color.
    26. Dates: 2012/08/14 - 8:14 AM - Version 1.1.0
    27. Fixed both newly added algorithms of smoothing. The issue was infinite numbers that come from edges.
    28. Dates: 2012/08/13 - 12:23 PM - Version 1.1.0
    29. Added smoothing algorithm that is 'Surface Normal based Mean-filter'. Implemented successfully, and it gives good results.
    30. Another smoothing algorithm has been added that is Mesh Median Filter. Implemented successfully. :)
    31. Dates: 2012/08/11 - 6:08 AM - Version 1.1.0
    32. Fixed model reduction algorithm. Cutting planes were not adjusted correctly, now fixed it, and also created a small window for input parameters.
    33. Improved wire-frame, materials, and bounding box rendering.
    34. Made some others changes in which cnc cutting and GUI are improved.
    35. Added Mesh Smoothing feature which includes laplacian, Taubin, and Face normals Smoothing.
    36. Fixed some bugs from subdivision of triangles feature.
    37. Three more mesh smoothing algorithms have been added. Fujiwara'95, Laplacian-HC (J.Vollmer'99), and Laplacian-Weighted-Angle algorithms.
    38. All smoothing algorithms are revised. Optimized and updated.
    39. Two more smoothing algos are added.
    40. Fixed mesh instability during smoothing iterations.
    41. Now all smoothing algorithms are perfectly working. There is no issue now. By the way I am surprised to see the smoothing operation of Fujiwara. :)
    42. Both color and gray videos can be recored now. Gray with user defined resolution and color with original camera resolution.
    43. Revised all smoothing algorithms and enhanced smoothing speed by precomputed the adjacent data.
    44. Pre-computation of adjacent data will be performed only one time. After that all smoothing algorithms can be applied very quickly.
    45. Revised all subdivision algorithms, and made compatible with smoothing operations.
    46. Fixed butterfly subdivision by ignoring the border of the open mesh model.
    47. Dates: 2012/08/04 - 11:58 PM - Version 1.1.0
    48. Fixed several bugs from subdivision, smoothing, and texturing. I think now all issues are solved, and compatibility between texturing, subdivision, and smoothing becomes perfect.
    49. Fixed one more issue from loop subdivision.
    50. Successfully, performed real-time scanning of objects. Results are satisfactory, I think mazing. :)
    51. Fixed mesh rendering on surfel rendering. The issue was polygon offset value. Now fixed.
    52. Fixed file import error when the header of imported file is not matched.
    53. Fixed some other toggle buttons.
    54. Added icons to .exe and windows.

    July 2012

    1. Dates: 2012/07/14 - 2:11 AM - Version 1.0.14
    2. Cylindrical mesh can be generated now same like 'Sphere' and 'Cube'.
    3. Updated CNC simulation module.
    4. Updated GUI.
    5. Fixed performance related issues.
    6. Dates: 2012/07/17 - 3:23 PM - Version 1.0.15
    7. Found a bug when we try to import a large mesh data model. Found here ADJFACES => adjF[100];
    8. Adjacent faces can be 100 in some cases when we will try to import stl model with complex geometry.
    9. I initialized it with 1000, that was the bug. Computer couldn't allocate that much memory. Now Fixed it.
    10. Updated the GUI of windows with colors.
    11. Fixed fl_input with float values.
    12. Fixed other issues.
    13. Dates: 2012/07/20 - 2:44 AM - 3D Scanning GUI
    14. Added offline 3D Scanning Module. Using this module, we can extract the 3D shape from 3, 4 or 5-step phase shifting images.
    15. Added support of export feature.
    16. Added Camera Module. Using this module, we can initialize any camera attached to the computer and capture the color and gray images with default and user defined resolutions.
    17. Added the Real-time Patterns Projection Module. Using this module, we can project the 3, 4, or 5-step patterns with real-time phase-shifts.
    18. Multi-thread is utilized in order to process the camera and real-time phase-shifts of the patterns.
    19. Updated the GUI of the 3D Scanning Module.
    20. Fixed many issues related to performance of for loops, bulky codes, and terribly slow progress bar.
    21. Fixed some bugs in subdivision of triangles module.
    22. Found bug in importing of stl files. When we import another file with different size, system got unstable due to some irrelevant pointers. (Fixed)
    23. Building up Final stable release 1.1
    24. Updated some for loops using OpenMP (Multi-threading/Parallel Processing)
    25. Added Real-time 3D Scanning module.
    26. Fixed all issues relevant to real-time scanning.
    27. Updated some GUIs.
    28. Added icon to exe.
    29. Fixed some issues of real-time scanning module.
    30. Added flip and video recording feature in camera module.

    May 2012

    1. Added unify duplicate vertices dialog in STL loader.
    2. Created cylinder feature
    3. Fixed bug in triangles subdivision.

    April 2012

    1. Added a 'New Project' feature.
    2. Added CNC machine parts.
    3. Fixed both tools cutting parameters.
    4. Fixed STL file loader. There was a memory allocating issue. Now has fixed and working fine.
    5. Fixed various others issues.
    6. Added trail period.
    7. Added translate and rotation feature.
    8. Fixed some issues.
    9. Compiled cxcore .ddl for xp.
    10. Make build for xp and win 7.
    11. Update menus.

    March 2012

    1. Fixed the full screen issue.
    2. Added features of LINE rendering for visualization of mesh with model material.
    3. Fixed the animated cube position in full screen.
    4. Added a new feature Recompute Vertex Normals.
    5. Fixed a issue that occurred when we compute the centroid of a cutting model, then the shape must be same before and after.
    6. Fixed *.ply and *.obj file formats and made similar to well-known softwares. Now this software can import any *.stl, *.ply, *.obj files and it has ability to export *.ply and *.obj file formats.
    7. Fixed tools loader concept. During installation of the software, directories will be created in C: that have tools models.
    8. Fixed many other issues. I think I forgot. :)
    9. Added zoom feature with mouse wheel.
    10. Also added many new features.
    11. Added show vertex normals, face normals, mesh lines.
    12. Updated the GUI.
    13. Fixed full screen issues.
    14. Added subdivision of triangles feature, successfully.
    15. Any mesh such as *.obj, *.ply, *.stl can be subdivided using Sqrt(3), Loop, Butterfly, 4-Split, 9-Split, 3-Split, and Bi-tri subdivision techniques.
    16. Added export support of *.stl file format.
    17. Fixed other issues relevant to normals, centroid, and some enable/disable features.
    18. Added various materials.
    19. Fixed re-computation of face and vertex normals.
    20. Fixed a bigggggggg error. Has spent so much time, just to know where is the error.
    21. The error was in Loop subdivision. Now everything is working like a charm. :)
    22. Also fixed some other issues and errors.
    23. Updated import and export menu.
    24. Added 'Change Background Colour' feature.
    25. Updated export file (X-vs-Y graph) in the simulation module.
    26. Updated Z-axis of the tools.
    27. Introduced a new module in which user can perform model reduction operation. In other words, the model data (Vertices and Triangles) can be reduced as well as the model can be exported to well-known 3D formats. For implementation of this module, user has to press [Ctrl+Left_Mouse_Click] for creating two cutting planes on the model surface. After adjusting the right position of cutting planes on the model surface by pressing [Ctrl+UP/Down], the algorithm can be performed from the 'Render' Menu. Afterwards, only the area cover by cutting planes requiring less computer memory is rendered.
    28. Updated FPS display.
    29. Made many changes.
    30. Fixed tools open ends.
    31. Fixed some memory leaks.
    32. Fixed Vertex Buffer Object (VBO) after spending so much time ufff continues 24 hours. :)
    33. Fixed Line mesh over 3D triangular mesh.
    34. Converted everything into VBO rendering.
    35. Now we can say is, the fully functional system using Vertex Buffer Object (VBO).
    36. Cutting Simulation, Model Reduction, and 3D Rendering now works under the VBO umbrella.
    37. glBufferSubData is used in order to update the VBO of vertices, normals, and indices.
    38. Wow.. I just implemented multi-threading.
    39. After four years of research, today I got the solution of real-time Vertices Normals Computation. Because during cutting simulation, after each cutting stroke, vertices normals have to be recomputed and updated. Now with multi-threading, i can recompute normals in the second (background) thread. We are able to visual smooth cutting profile in real-time by enabling MUlti-Threading check in the simulation module.");
    40. Fixed multi-threading for real-time data updating.
    41. Added progress bar in order to show the running process in percentage.
    42. Fixed data updating of VBO according to multi-threading.
    43. Disabled console.
    44. Changed GUI and fixed some issues.
    45. Fixed multi-threading issue.
    46. Fixed normals calculations issue.
    47. Updated GUI.
    48. Added tool path generation feature.
    49. Optimized Vertices Normals calculation by pre-compute the adjacent triangles.
    50. Upgraded the whole system with adjacent triangles technique.
    51. Now cutting simulation can be performed with smooth rendering at 60 fps.
    52. Currently, no need of multi-threading for vertices computation.
    53. Vertex normals will be computed only one time, then adjacent triangles will be used.
    54. Added Show Graph button in simulation module.
    55. Fixed draw test in 3D
    56. Fixed some cutting simulation issues.
    57. Now everything is working fine, 160,000 triangles can be simulated in material removal operation at 60 fps.
    58. Added a feature in which we can generate offset surface surface of the model.
    59. Offset surface will be used in tool path generation.
    60. Done tool path generation with offset surface.
    61. Added projection based texture mapping not UV based.
    62. Added UV mapping feature. Any image (.jpg, bmp, etc.) can be applied on 3D model as a texture.
    63. Two types of texturing are introduced. one is UV mapping and other one is Projection/Shadow mapping.
    64. Fixed everything relevant to texture mapping.
    65. Texture mapping using VBO is also fixed.
    66. Diffused material is added and selected as a default material.
    67. FIxed menu and its font.
    68. Added Create Menu. Sphere and Cube can be created without any external file.
    69. Added Translation and Rotation controls.
    70. Fixed some texture mapping issues.
    71. Fixed char to decimal conversion.
    72. Fixed End Mill CL ( cutter location ) in case of curved surface.
    73. Fixed tool path generation algorithm.
    74. Until now current system is capable of doing cutting simulation with 4 kinds of cutters, tool path generation of the curved surface. From now on I am going to use two tools simultaneously. I have to change many thing for that purpose. So, created a backup of current system. I would call this version to v1.0.13.
    75. Added a feature in which two tools will be operated simultaneously, one is in horizontal position and and other one is in Vertical position.
    76. Two features are introduced, cutting with Ball mill and with End mill.
    77. Fixed cutting simulation on rafter ( curved surface ).
    78. All tools are capable of creating tool path using curved surface profile.
    79. Fixed many complicated issues. To control all tools is really a complicated matter.
    80. Also fixed offset surfaces creation algorithm. Vertex normals must be precomputed.
    81. Updated Cutting Parameters window. It took so much time.. uff. :)
    82. Now we can generate G-code, export it and can import it too.
    83. Added import/export G-code buttons in the simulation window.
    84. Fixed simulation with single tool using imported G-code.
    85. G-code using multi-tools are also fixed but still some complicated issues need to be solved.
    86. To handling single tool is easy but multi-tools are so much complicated.
    87. Anyways, we can generate G-code with multi-tools and can also run that generated G-code.
    88. I think only one issue is still exists that is I couldn't manage all processes at one place, means that after tool path generation and then running that generated tool path is OK. But I have to exit the system if I want to continue normal simulation. I think I would solve this issue soon. I hope so . :)
    89. FIxed a lots errors regarding multi-tool path generation and running.
    90. Now everything is working fine including single/multi tool path generation and running, and I hope it will work fine in future too. But in programming, you always have to face bugs errors etc. :)
    91. Fixed cutting tools loader.
    92. Fixed newly created issue with Model Reduction Algorithm.
    93. Fixed tool path generation and running. Both are working fine.
    94. Updated Cutting Parameters Window with 2nd cutting tool conditions.
    95. Minor changes.

    Feb 2012

    1. Fixed simulation parameters. Added many other features.
    2. Fixed *.ply and *.obj issues.
    3. Added *.stl support. Fixes all issues relevant to importing file, normals, and memory allocation, etc.
    4. Fixed the camera position issue. Now whatever dimensions the imported model has, it will be displayed accurately on the screen.
    5. Fixed the view camera for 3D Axis, and animated cube.
    6. Added some more features.