The blazingly fast 3D data viewer for Windows
and Linux
.
Blaze3D
might be the fastest 3D data viewer currently available.
It supports both the visualization of triangle mesh and pointcloud data stored in many file formats.
Showcase
As you’ll notice in the videos below, Blaze3D
is very fast and supports many workflows for viewing your files.
Running from console
You can view your model by calling:
blaze3d file.name
Or an entire folder via:
blaze3d folder
Drag&Drop support
You can drop any supported model or folder on the already opened window
Stream loading
Get instant visual feedback even before loading is done
Folder traversal
You can traverse the currently opened folder with the arrow keys
Folder view
You can view all models within a folder and use Blaze3D
like any other file browser
Colored point shading
Point data is always shaded colorized. This makes it easy to understand even complex 3D models
Camera controls
Move, rotate and zoom are fully supported
Supported file formats
Blaze3D Lite and Blaze3D Pro
-
.stl
both binary and ASCII -
.xyz
-
.xyzc
ignoring colors -
.xyzn
ignoring normals -
.csv
if formatted similar to .xyz -
.txt
if formatted similar to .xyz -
.obj
-
.gcode
Blaze3D Pro exclusive
-
.ply
both binary and ASCII ignoring colors etc. -
.off
-
.psl
-
.ptx
-
.las
only loading point coordinates -
.pts
-
.glb
basic support (v2.0, index meshes, no colors, no textures …) -
.gltf
basic support (v2.0, index meshes, no colors, no textures …)
Editions
Blaze3D
is available as free Lite
and paid Pro
edition.
The Pro
edition supports additional file formats.
High efficiency
Blaze3D
causes no CPU usage when idle and uses very little memory (if double_buffer_data
is turned off). Saving power and allowing you to work on other tasks in parallel.
Incremental rendering of point clouds is also supported. This makes it possible to render very large point clouds that do not fit into your GPU’s memory.
No installer required
You can directly run Blaze3D
without having to use an installer or make changes to your system.
Active development
Blaze3D
is in active development and will further improve in the future. Feature requests and bug reports are very welcome.
Changelog
2.7.3
- Fix a bug where Blaze3D would crash when dropping unsupported file formats
2.7.2
-
Have separate cameras for perspective and ortographic projection
This resolves issues when switching between both frequently such as clipping the model - Fix bug where flickering text might be shown while loading a file
2.7.1
- Fix a bug where opening an invalid file might prevent the folder view from loading additional models
2.7.0
-
Now loading all files within a folder, not only the currently visible ones
Files which are visible are still loaded first - Display error reasons within the render window
- Increase default and minimum window size
-
Now possible to enable face culling via the
face_culling
setting
This can also be toggled during runtime by pressingC
-
Now possible to enable flat shading via the
flat_shading
setting
This can also be toggled during runtime by pressingF
-
Current configuration and controls can now be shown in the render window (press
Q
orW
) -
Now possible to change the point size during runtime by pressing
O
orP
-
Now possible to change the line width during runtime by pressing
K
orL
-
Now possible to toggle the projection (orthographic / perspective) during runtime by pressing
E
- Not spawning a console window on Windows anymore (run Blaze3D from console to still see the console output)
- Fix a bug where the window title was incorrect after re-activating a file view
- Fix a bug where the folder view would display loading dots when starting with an empty folder
2.6.1
- Fix a crash in font renderer that could be triggered by hovering files/folders with long names
2.6.0
-
Change folder view to display all folders instead of only those containing files that can be opened
The previous behavior could cause very long wait times if e.g. the root folder of the system was being viewed
The new solution is very fast in all cases - Viewing models in file view now also creates their thumbnails for folder view
- Now showing a ‘drop files here’ message when Blaze3D is opened blank
- Now showing a ‘drop to open’ message when hovering files above Blaze3D
- Now showing an error message within the render window if a file could not be loaded / is only supported via Blaze3D Pro
- The render window now has an icon
- Blaze3D now stays open when trying to initially load an invalid file
- Fix a bug where switching back and forth between a broken and valid file could result in the valid file not being displayed
-
Fix a bug in
.stl
loader in case the file does not end with a new line
2.5.1
- Improve Linux support (binaries now compiled on older host machine)
-
Fix an issue within the
.gcode
loader in case a;
is located directly behind a value
2.5.0
-
Greatly improve performance of
.glb
loading in case there are many seek operations (caused by e.g. many BufferViews) - Slightly improve loading speed of smaller files
- Fix bug where clicking another folder while still fetching the current folder could cause loading to stop completely
- Fix bug where renderer would make unnecessary render calls
2.4.0
-
Now also support inline
base64
data in.gltf
files
2.3.0
-
Add basic
.gltf v2.0
support
2.2.0
-
Split
Blaze3D
intoLite
andPro
editions - Fix issue in bounding box calculation in case the first stream chunk has no valid size
- Support models that don’t have a valid 3D bounding box (e.g. flat surfaces)
-
In case indices within a
.glb
file are undefined or not supported, the data is now rendered as points
2.1.0
-
Add basic
.glb v2.0
support -
Slightly improve performance when using single buffering (
double_buffer_data = false
)
2.0.0
- Data is now streamed and rendered directly. Resulting in instant visual feedback
-
Add
stream_chunk_size
to configuration -
Improve loading speeds by double buffering the loaded data
Since this causes higher memory usage, you can configure it viadouble_buffer_data
(Enabled by default) -
Remove
on_duplicate_stl_vertex
from configuration, now always assumingAllow
-
Drop
gpu_capacity_growth_factor
from configuration, now handled internally
1.9.0
- Improve folder structure of released zip files
- IO Error messages now contain more information
- Change the initial model pose so more of the model is shown (90 degree rotations only)
1.8.0
- Only show folders that potentially contain valid models (checked via extension)
- Improve .ply support (now supporting types int8, uint8, int16, uint16, int32 and uint32)
- Fix bug where folder up / traverse didn’t work when starting Blaze3D from the current directory
- Fix bug where scrollbar is incorrect if folder mostly/only contains other folders
1.7.1
- Avoid bad alloc crashes in case of invalid .stl data
- Handle invalid normals within an .stl file more gracefully
1.7.0
- Can now scroll in the folder view via mouse wheel
- Now showing loading and error texts for single files within folder view
- On errors when loading ASCII files, the invalid line’s content is now printed
- Now showing stats about loaded model within the rendering window
- Slightly increase the default font size
1.6.0
-
The folder view can now be used as full file browser
- Now displaying names of files
-
Now displaying folders including
..
- Folder view now shows in title whether loading is in progress
-
Now possible to use the
back
buttons in the folder view as well - The (empty) folder view now uses less VRAM
- The scale factor of the window / your OS is now considered for all sizes
-
You can use
font_size
to configure the font size -
The
upscale
setting is now removed and always considered to be1
Due to the rendering of text and internal changes, a value != 1 makes little sense now
1.5.0
- Improve smoothness of interactive rendering while also dropping CPU usage during interactions
- Folder view now behaving more responsive
- Slightly improved (loading) performance
- Now more reactive when resizing the folder view window
- Reduce VRAM usage for folder icons
- There’s now a minimal window size
- Folder view is now rendered with a padding
- Now displaying error text in title in case file could not be loaded
-
The size of icons (single files) within the folder view can now be configured via
icon_width
andicon_height
-
The
upscale
of the folder view can now be configured -
print_detailed_time
is even more detailed now -
Going back to the folder view is now correctly possible via
mouse-back
on Windows
1.4.1
- Fix issue on Windows where CPU usage was high even with no interaction
1.4.0
-
The folder view can now be very efficiently redrawn
This avoids any file reloads when resizing the window or traversing the folder
At the cost of a slight VRAM usage increase for every cached file - Files within the folder view are now rendered with a fixed size
-
Due to the above changes,
max_models_folder_view
has been removed from the configuration
Now the maximum number of shown files depends solely on the window size - Reduce VRAM usage when rendering folder view (especially on large screens)
1.3.0
-
The folder view can now be configured to load at most
max_models_folder_view
models
Set this value to0
to have the previous, unlimited behavior - Add a scroll indicator for the multi view in case it is limited
- Traversal with the arrow keys is now also possible within the folder view in case its model count is limited
- Arrow up/down can now also be used for traversal
- Loading of folder view is now aborted more often when requesting other actions / views, allowing for faster interaction
- If initially loading an invalid file, Blaze3D is now closed
-
Split
print_timelog
intoprint_total_time
andprint_detailed_time
Originally defaulted totrue
, total now defaults to true, but detailed to false - Further improve console logs
- Improve error logging in case the ASCII .stl import fails
- Improve error message in case there’s issues within the configuration file
- Fix a bug in ASCII .stl import
- Fix a bug where quick switching between folder and file view could cause the incorrect model to be rendered
1.2.0
-
Add option to render point clouds incrementally
This makes it possible to render large point clouds even with very little GPU memory
Seemax_points_per_render_call
in the configuration file -
Add a coordinate cross
It is rendered at the origin
You can editline_width
to change its appearance -
Add option to print the time spent rendering a frame via
print_frame_time
-
The rendered point size can now be configured via
point_size
- Shorten the “Non-commercial” window title
1.1.0
- Now supporting display of multiple models at once when opening a folder
-
Add option to reload a file or folder by using the
R
key -
Add option to display folder of currently loaded file via
Backspace
,ESC
or theback
button of your mouse -
ESC
doesn’t close the application anymore (to avoid mistakes during display of multiple models)
1.0.0
-
Remove the
blaze3df
executable -
Add setting
on_duplicate_stl_vertex
to the configuration as replacement
"Allow"
equates the previous behavior ofblaze3df
"Merge"
equates the previous behavior ofblaze3d
"Allow"
is the default, causingblaze3d
‘s default behavior to be the same as previouslyblaze3df
- Now following symlinks when trying to find the configuration file. The location next to the executable is considered
- Reduce amount of ‘unnecessary’ text in the window title
- Improve display of currently opened file in the window title
- Display drag&drop notice in title if nothing loaded
-
Printing of the timelog can now be toggled in the configuration file via
print_timelog
- Printed vertex / face counts now have a thousands separator
0.17.0
-
Add
.pts
support - All values within configuration are now optional
- Add switching between perspective and orthographic projection via configuration
- Add field of view setting for perspective projection
- Add initial window size to configuration
- Improve error handling if configuration file is invalid or missing
- Improve initial / cold loading time
- Improve time logging
- Always print active configuration fully
0.16.0
-
Now supporting
.ply
files that only contain point data - Now able to open folders directly (will load first valid file in folder)
- Icon for the Windows executable
0.15.0
-
Add
.las
support
0.14.0
-
Greatly improve speed for all text/ASCII file formats [time to first frame, hot]
- 31% .stl
- 25% .gcode
- 32% .ply
- 20% .xyz
- 34% .obj
- 20% .ptx
- and others (no data for benchmarks available)
0.13.0
- Further greatly improved performance (> 2x in some cases)
- There’s changes to the configuration, you’ll have to update yours
0.12.0
- Arrow keys can now be used to load the previous/next file of the current folder
- Readme and Changelog now .html pages
-
The camera controls can now be configured by editing
blaze3d.toml
0.11.0
-
.gcode
support greatly improved
0.10.0
-
Add
.ptx
support -
Add
.gcode
support (readingG1
commands assuming absolute positioning)
0.9.0
- Greatly improve loading speed especially when loading .stl files
- Extend time logging to track time loading -> finish rendering frame
- Use normals provided by .stl files if they seem to be valid
- Now always showing the render window, even if there are issues initially (such as no file provided)
- Rendering nothing if invalid files are dropped onto the render window (instead of just showing the previous model)
0.8.1
- Fix issue where binary .stl files were detected as ASCII and failed to load properly
- Fix issue where .stl files with invalid faces could not be loaded
0.8.0
- Nicer time logging and output
- Support for binary .ply files
- .ply import is now more capable and should be able to open most (possibly all) files
- Free community edition for non-commercial use is now available
Used models
The following models were used within the videos / images:
- Voronoi lamp by Markellov
- Medieval Castle by boldmachines
- Cute Dragon - more easy printing by Sebastian_v650
- Pen Holder by damm301
- V29 by jzisa
- #3DBenchy - The jolly 3D printing torture-test by CreativeTools.se by CreativeTools
- Digital Sundial by Mojoptix
- Headphone Stand by MakerBot
- Modular Mounting System by yyh1002
- All In One 3D Printer test by majda107
- Parts Tray Drawers by FatalError3141
- Venus Box by Prot0typ1cal
- NUT JOB | Nut, Bolt, Washer and Threaded Rod Factory by mike_mattala
- Frankenstein Light Switch Plate by LoboCNC
- Toothpaste Tube Squeezer by ottenjr
- Parametric Hinge by rohingosling
- Wireframe Skull Pencil Holder For The Love of Dog by philnelson
- Curved honeycomb vase by eggnot
- Ender 3 Cable Chain by johnniewhiskey
- Yet ANOTHER Machine Vise by TheGoofy
- Parametric pulley - lots of tooth profiles by droftarts
- G-Clamp fully printable by johann517
- Secret Shelf by Tosh
- Flexing battery holders with integrated spring by enif
- Fully assembled 3D printable wrench by barspin
- The T-Rex Skull by MakerBot
- Raspberry Pi 3 B/B+, Pi 2 B, and Pi 1 B+ case with VESA mounts and more by 0110-M-P
- Eiffel tower by Newcandle
- Small items organizer by cruzher
- Platform Jack [Fully Assembled, No Supports] by Intentional3D
- Flexi Rex with stronger links by DrLex
- Micro Catapult by LukeTansell
- Tower of Pi by roman_hegglin
- DIY Dremel CNC design and parts by NikodemBartnik
- Stackable Box V4 by Yuan4114
- TUSH - The Ultimate Spool Holder by filamentry
- Sliding Door bolt Print fully assembled by Sagittario
- Smartphone Photo Studio for #3DBenchy and tiny stuff by CreativeTools
- Universal Filament Filter and Lubricator by CreativeTools
- Sunglasses Car Sun Visor Clip by drotron
- Air Raid Siren - hand crank version by MlePh
- Shopping Bag Handle by walter
- 2020 / Ender 3 Filament Guide by Filboyt
- Air Spinner by walter
- vise by joestraws
- Jumbo Elephant Cutlery Drainer by aleiovanevcp
- Phone Stand by GoAftens
- Resistor Box [Stackable & Customizable] by STTrife
- Gear Bearing by emmett
- Print-In-Place Iris Box remix by LoboCNC
- Flexi-Dragon by Benchy4Life
- Swiss Army Style SD Holder ExpandableRaspberry adaptors by Dranoweb
- Sanding Tool by Perinski
- Baby Yoda by MarVin_Miniatures