vengi/docs/CHANGELOG.md

493 lines
14 KiB
Markdown

# Changelog
A more detailed changelog can be found on [github](https://github.com/mgerhardy/vengi/commits/).
Join our [Discord server](https://discord.gg/AgjCPXy).
See [the documentation](https://mgerhardy.github.io/vengi/) for further details.
Known [issues](https://github.com/mgerhardy/vengi/issues?q=is%3Aissue+is%3Aopen+label%3Abug).
## 0.0.20 (2022-XX-XX)
General:
- Added support for minecraft schematic
- Refactored and extended the lua script integration
- Implemented applying depth/height map to a 2d plane
- Added support for new magicavoxel format (animations)
- Preserve node hierarchie when saving vxr
- GLTF voxelization
- Allow to enable certain renderer features
- Expose more noise functions to the lua scripts
- Expose more volume functions to the lua scripts
- Allow to delete voxels from within a lua script
- Improved splitting of volumes (target volume size)
- Expose more region functions to the lua scripts
- Added more lua example scripts
- Improved color sampling for voxelization
- Started to support different palettes in one scene
- Fixed vxc support
- Load the palette from the source file
- Fixed vxm file path when saving vxr
- Save vxmc (version 12) now
- Changed default ambient color and gamma values
VoxEdit:
- Fixed start problems on some systems with multisampled framebuffers
- Allow to drag and drop colors from the palette
- Change between the edit and scene mode is now bound to `tab`
- Updated imguizmo to support clicking the view cube
- Cursor is no volume anymore but a plane
- Implemented plane filling
- Added extrude feature
- Allow to place a single voxel
- Fixed keyboard input errors that made the ui unusable
- Don't reload the last opened file with every start
VoxConvert:
- Extended `--dump` to also show the key frames and the voxel count
- Removed `--src-palette` (src palette is always used)
## 0.0.19 (2022-03-27)
General:
- Replaced minecraft support with own implementation
- Added support for Sandbox VXA format (via VXR) and improved VXR
- Allow to change the ui colors via cvar (`ui_style`)
- Added bloom render support for vox and vxm
- Added support for loading key frames if the format supports it
- Improved apple support in file dialog
- The palette handling was refactored
- Allow to save the MATL chunk in magicavoxel vox files
- Ability to scale exported mesh with different values for each axis
- Added stl voxelization support
- Allow to modify the camera zoom min/max values
- Allow to load different sizes for AoS VXL files
- Lerp the camera zooming
- Added support for GLTF export
- Added experimental export support for FBX ascii
- Increased the max scene graph model nodes from 256 to 1024
VoxEdit:
- Added new command to fill hollows in models
- Fixed escape key not closing the dialogs
- Added support for drag and drop the nodes of the scene graph
- Scene graph rendering improved
- Removed noise panel (use the lua scripts for noise support)
- Fixed a lot of undo/redo cases and improved the test cases a lot
- Fixed viewport screenshot creation (now also bound to F5)
- Added dialog to configure the mesh and voxel format settings for loading/saving
- Improved the palette panel
- Improved the guizmo for translation and rotation
- Open in scene mode as default
VoxConvert:
- Added `--image-as-plane` and `--image-as-heightmap` parameters
- Allow to create a palette from input files
## 0.0.18 (2022-02-12)
> renamed the github project to **vengi** - the url changed to [https://github.com/mgerhardy/vengi](https://github.com/mgerhardy/vengi).
Build:
- Removed own cmake unity-build implementation
- Fixed build when `GAMES` was set to `OFF`
General:
- Extended qbcl format support
- Fixed color conversion issue when importing palettes from voxel models
- Voxelization of obj meshes now also fills the inner parts of the mesh with voxels
- Fixed magicavoxel pivot issue (sometimes wrong positions)
- Added support for sandbox vxc format
- Added support for sandbox vxt format
- Added new example lua scripts
VoxConvert:
- `--input` can now also handle directories
VoxEdit:
- Added context actions to scene graph panel
- Fixed mouse input issues in fullscreen mode
- Fixed script editor placement
## 0.0.17 (2022-01-23)
General:
- Fixed relative path handling for registered paths
- Stop event loop if window is minimized (reduce cpu usage)
- Support scene graphs in the voxel formats
- Fixed a few issues with the magicavoxel vox format (switched to ogt_vox)
- Load properties from supported voxel formats (vxr, vox, gox)
- Added support for loading minecraft region files (used enkimi)
- Fixed vxm pivot and black color issue
- Added obj voxelization
- Improved obj export
- Improved file dialog
VoxConvert:
- Added `--crop` parameter that reduces the volumes to their real voxel sizes
- Added `--split` option to cut volumes into smaller pieces
- Added `--export-layers` to export all the layers of a scene into single files
- Added `--dump` to dump the scene graph of the input file
- Added `--resize` to resize the volumes by the given x, y and z values
VoxEdit:
- Fixed torus shape
- Added scene graph panel
- Fixed an issue that delayed the start by a few seconds
## 0.0.16 (2021-12-27)
General:
- Fixed magicavoxel vox file saving
- Added support for old magicavoxel (pre RIFF) format
- Fixed bugs in binvox support
- Fixed save dir for vxm files when saving vxr
- Save vxm version 5 (with included pivot)
- Support bigger volumes for magicavoxel files
VoxConvert:
- Fixed `--force` handling for target files
- Allow to operate on multiple input files
- Added `--translate` command line option
- Added `--pivot` command line option
- nippon palette is not loaded if `--src-palette` is used and it's no hard error anymore if this fails
VoxEdit:
- Add recently used files to the ui
## 0.0.15 (2021-12-18)
General:
- Fixed missing vxm (version 4) saving support
- Fixed missing palette value for vxm saving
- Added support for loading only the palettes
- Added support for goxel gox file format
- Added support for sproxel csv file format
- Added support for a lot more image formats
- Improved lod creation for thin surface voxels
- Fixed vxr9 load support
- Added support for writing vxr files
VoxConvert:
- Added option to keep the input file palette and don't perform quantization
- Allow to export the palette to png
- Allow to generate models from heightmap images
- Allow to run lua scripts to modify volumes
- Allow to export or convert only single layers (`--filter`)
- Allow to mirror and rotate the volumes
Thumbnailer:
- Try to use the built-in palette for models
VoxEdit:
- Allow to import palettes from volume formats, too
- Implemented camera panning
- Added more layer merge functions
## 0.0.14 (2021-11-21)
General:
- License for our own voxel models is now CC-BY-SA
- Support loading just the thumbnails from voxel formats
- Support bigger volume sizes for a few formats
- Don't polute the home directory with build dir settings
- Fixed gamma handling in shaders
- Added bookmark support to the ui dialog
Thumbnailer:
- Added qbcl thumbnail support
VoxEdit:
- Render the inactive layer in grayscale mode
## 0.0.13 (2021-10-29)
General:
- Logfile support added
- Fixed windows DLL handling for animation hot reloading
UI:
- Fixed log notifications taking away the focus from the current widget
VoxEdit:
- Fixed windows OpenGL error while rendering the viewport
## 0.0.12 (2021-10-26)
General:
- Fixed a few windows compilation issues
- Fixed issues in the automated build pipelines to produce windows binaries
## 0.0.11 (2021-10-25)
General:
- Added url command
- Reduced memory allocations per frame
- Added key bindings dialog
- Added notifications for warnings and errors in the ui
- Fixed Sandbox Voxedit VXM v12 loading and added saving support
- Fixed MagicaVoxel vox file rotation handling
VoxEdit:
- Removed old ui and switched to dearimgui
- Added lua script editor
- Added noise api support to the lua scripts
## 0.0.10 (2021-09-19)
General:
- Added `--version` and `-v` commandline option to show the current version of each application
- Fixed texture coordinate indices for multi layer obj exports
- Improved magicavoxel transform support for some models
- Fixed magicavoxel x-axis handling
- Support newer versions of vxm and vxr
- Fixed bug in file dialog which prevents you to delete characters #77
VoxEdit:
- Improved scene edit mode
- Progress on the ui conversion to dearimgui
Tools:
- Rewrote the ai debugger
## 0.0.9 (2020-10-03)
General:
- Fixed obj texcoord export: Sampling the borders of the texel now
- Added multi object support to obj export
## 0.0.8 (2020-09-30)
General:
- Added obj and ply export support
- Restructured the documentation
- Improved font support for imgui ui
Backend:
- Reworked ai debugging network protocol
- Optimized behaviour tree filters
## 0.0.7 (2020-09-15)
General:
- Fixed wrong-name-for-symlinks shown
- Added support for writing qef files
- Added lua script interface to generate voxels
- Added stacktrace support for windows
- Refactored module structure (split app and core)
- Optimized character animations
- Hot reload character animation C++ source changes in debug builds
- Added quaternion lua support
- Updated external dependencies
- Refactored lua bindings
- Support Chronovox-Studio files (csm)
- Support Nick's Voxel Model files (nvm)
- Support more versions of the vxm format
VoxEdit:
- Converted some voxel generation functions to lua
- Implemented new voxel generator scripts
## 0.0.6 (2020-08-02)
General:
- Fixed gamma cvar usage
- Enable vsync by default
- Updated external dependencies
- Activated OpenCL in a few tools
- Added symlink support to virtual filesystem
VoxEdit:
- Fixed loading palette lua script with material definitions
- Fixed error in resetting mirror axis
- Fixed noise generation
- Reduced palette widget size
- Fixed palette widget being invisible on some dpi scales
## 0.0.5 (2020-07-26)
Client:
- Fixed movement
Server:
- Fixed visibility check
- Fixed segfault while removing npcs
VoxEdit:
- Started to add scene mode edit support (move volumes)
VoxConvert:
- Support different palette files (cvar `palette`)
- Support writing outside the registered application paths
- Allow to overwrite existing files
General:
- Switched to qb as default volume format
- Improved scene graph support for Magicavoxel vox files
- Fixed invisible voxels for qb and qbt (Qubicle) volume format
- Support automatic loading different volume formats for assets
- Support Command&Conquer vxl files
- Support Ace of Spades map files (vxl)
- Support Qubicle exchange format (qef)
- Perform mesh extraction in dedicated threads for simple volume rendering
- Improved gizmo rendering and translation support
- Fixed memory leaks on shutdown
- Improved profiling support via tracy
## 0.0.4 (2020-06-07)
General:
- Added support for writing binvox files
- Added support for reading kvx (Build-Engine) and kv6 (SLAB6) voxel volumes
- Performed some AFL hardening on voxel format code
- Don't execute keybindings if the console is active
- Added basic shader storage buffer support
- Reduced voxel vertex size from 16 to 8 bytes
- Apply checkerboard pattern to water surface
- Improved tracy profiling support
- A few highdpi fixes
Server:
- Allow to specify the database port
- Fixed loading database chunks
VoxEdit:
- Added `scale` console command to produce LODs
VoxConvert:
- Added ability to merge all layers into one
## 0.0.3 (2020-05-17)
Assets:
- Added music tracks
- Updated and added some new voxel models
VoxEdit:
- Made some commands available to the ui
- Tweak `thicken` command
- Updated default tree generation ui values
- Save layers to all supported formats
- Fixed tree generation issue for some tree types
- Changed default reference position to be at the center bottom
- Reduced max supported volume size
General:
- Print stacktraces on asserts
- Improved tree generation (mainly used in voxedit)
- Fixed a few asserts in debug mode for the microsoft stl
- Added debian package support
- Fixed a few undefined behaviour issues and integer overflows that could lead to problems
- Reorganized some modules to speed up compilation and linking times
- Improved audio support
- Fixed timing issues
- Fixed invalid GL states after deleting objects
VoxConvert:
- Added a new tool to convert different voxel volumes between supported formats
Currently supported are cub (CubeWorld), vox (MagicaVoxel), vmx (VoxEdit Sandbox), binvox
and qb/qbt (Qubicle)
Client:
- Added footstep and ambience sounds
## 0.0.2 (2020-05-06)
VoxEdit:
- Static linked VC++ Runtime
- Extract voxels by color into own layers
- Updated tree and noise windows
- Implemented `thicken` console command
- Escape abort modifier action
- Added L-System panel
General:
- Fixed binvox header parsing
- Improved compilation speed
- Fixed compile errors with locally installed glm 0.9.9
- Fixed setup-documentation errors
- Fixed shader pipeline rebuilds if included shader files were modified
- Improved palm tree generator
- Optimized mesh extraction for the world (streaming volumes)
- Added new voxel models
- (Re-)added Tracy profiler support and removed own imgui-based implementation
- Fixed writing of key bindings
- Improved compile speed and further removed the STL from a lot of places
- Updated all dependencies to their latest version
Server/Client:
- Added DBChunkPersister
- Built-in HTTP server to download the chunks
- Replaced ui for the client
Voxel rendering
- Implemented reflection for water surfaces
- Apply checkerboard pattern to voxel surfaces
- Up-scaling effect for new voxel chunks while they pop in
- Optimized rendering by not using one giant vbo
## 0.0.1 "Initial Release" (2020-02-08)
VoxEdit:
- initial release