Commit Graph

9875 Commits (master)

Author SHA1 Message Date
Martin Gerhardy 822ed46734 RENDER: extract to local variable 2022-05-10 20:08:54 +02:00
Martin Gerhardy 0e2c72f4e1 VOXFORMAT: don't store invalid palettes in the node
this happens e.g. in qbt format which can use both rgba and palette
for the colors
2022-05-10 19:55:38 +02:00
Martin Gerhardy bd7e9b29a3 VOXELFORMAT: use the palette lookup util for qbt loading 2022-05-09 20:30:21 +02:00
Martin Gerhardy 77ae4023c0 VOXELFORMAT: perform sanity check earlier 2022-05-09 20:29:21 +02:00
Martin Gerhardy 01701c2814 VOXELFORMAT: preserve the node details when loading a vxt file 2022-05-09 20:28:33 +02:00
Martin Gerhardy e38e40f3e8 VOXELFORMAT: use the palette of the merge for qef saving 2022-05-09 20:27:44 +02:00
Martin Gerhardy 190c9fdf41 VOXELFORMAT: use the node palette in qbt saving 2022-05-09 20:27:13 +02:00
Martin Gerhardy 40ed4d0cbc VOXELFORMAT: ensure the new palette is marked as dirty when set into a node
this is updating the hash values and makes the palette comparable to others
2022-05-09 20:26:26 +02:00
Martin Gerhardy 19a8fcee48 VOXELFORMAT: use the merged palette 2022-05-09 20:25:47 +02:00
Martin Gerhardy b4b56aef38 VOXELFORMAT: use the node palette for qbcl writing 2022-05-09 20:23:49 +02:00
Martin Gerhardy c63cb66fd5 VOXELFORMAT: use the node palette for gox saving 2022-05-09 20:22:42 +02:00
Martin Gerhardy 90fc488671 VOXELFORMAT: use merged palette 2022-05-09 20:22:09 +02:00
Martin Gerhardy 2a8bdf0464 CORE: get non const pointer from core::Optional 2022-05-09 20:21:23 +02:00
Martin Gerhardy d3f5d8aebe VOXELFORMAT: reduced code duplication 2022-05-09 20:21:02 +02:00
Martin Gerhardy 710baa3e8e VOXELFORMAT: mark as unused 2022-05-09 18:44:12 +02:00
Martin Gerhardy 0f4203cc3c VOXELFORMAT: renamed class and added subclasses for the format 2022-05-09 18:41:18 +02:00
Martin Gerhardy 5d0eaad3a6 VOXELFORMAT: fixed comment after refactoring 2022-05-09 18:24:43 +02:00
Martin Gerhardy e41e2a062c VOXELFORMAT: use copyNode util function 2022-05-09 18:10:49 +02:00
Martin Gerhardy 2968a488ed VOXELFORMAT: added copyNode helper function 2022-05-09 18:05:30 +02:00
Martin Gerhardy d4aa4b9757 VOXELFORMAT: changed SceneGraph::merge return value to also include the palette 2022-05-09 18:05:30 +02:00
Martin Gerhardy fa5563c474 VOXELFORMAT: copy palette for scene graph nodes 2022-05-09 18:05:30 +02:00
Martin Gerhardy d1c60d1758 VOXELFORMAT: moved scene graph emplacement 2022-05-09 18:05:30 +02:00
Martin Gerhardy 5c80ec486e VOXELFORMAT: use PaletteLookup util 2022-05-09 18:05:30 +02:00
Martin Gerhardy 4e2a3a8271 VOXELFORMAT: add palette to scene graph node 2022-05-09 18:05:30 +02:00
Martin Gerhardy bd70f785d5 CORE: added Pair helper 2022-05-09 18:05:11 +02:00
Martin Gerhardy a7ebd51a86 CORE: added new class Optional 2022-05-09 18:04:32 +02:00
Martin Gerhardy 1592b5e4a5 PERSISTENCE: don't free the error message
According to https://www.postgresql.org/docs/current/libpq-status.html
this is automatically done when calling PQfinish
2022-05-05 20:24:24 +02:00
Martin Gerhardy 91b7da0c29 VOXELGENERATOR: added new lua example script for using noise 2022-05-03 22:53:31 +02:00
Martin Gerhardy e47be87b97 VOXELGENERATOR: added lua helper function 2022-05-03 22:53:08 +02:00
Martin Gerhardy baf7ea7592 VOXELGENERATOR: added region:size() 2022-05-03 22:52:50 +02:00
Martin Gerhardy abf78f5a1a VOXELGENERATOR: expose more noise types to the lua scripts 2022-05-03 18:41:00 +02:00
Martin Gerhardy 6244561c92 VOXELGENERATOR: added new example script 2022-05-03 17:36:59 +02:00
Martin Gerhardy e820b0deb5 VOXELGENERATOR: added volume:crop 2022-05-03 17:19:33 +02:00
Martin Gerhardy 6d31aacee5 VOXELGENERATOR: extended volume lua actions 2022-05-03 17:16:12 +02:00
Martin Gerhardy 3173a91d85 VOXELUTIL: fixed splitVolume for maxs being negative or located at 0 2022-05-02 18:55:11 +02:00
Martin Gerhardy ad958893df VOXEDIT: doxygen 2022-05-02 18:39:19 +02:00
Martin Gerhardy febf449502 VOXELGENERATOR: allow to delete voxels via volume:setvoxel(x, y, z, -1) 2022-05-02 18:26:45 +02:00
Martin Gerhardy d913b116cd UTIL: added missing 'release-button' commands for the unittest 2022-05-02 18:14:48 +02:00
Martin Gerhardy aabf843ad0 VOXEDIT: fixed segfault if the undo volume is currently extracted 2022-05-02 18:10:50 +02:00
Martin Gerhardy 1374f1e563 VOXEDIT: added Single flag to FillPlane modifier 2022-05-01 22:55:30 +02:00
Martin Gerhardy 8887798aa6 VOXELUTIL: improved fillPlane algorithm 2022-05-01 22:44:01 +02:00
Martin Gerhardy efc2457e72 VOXEDIT: tweaked icons 2022-05-01 22:04:54 +02:00
Martin Gerhardy 88ee7191e6 VOXEDIT: added FillPlane modifier 2022-05-01 22:08:21 +02:00
Martin Gerhardy 0422bbddcd VOXELUTIL: added unittest for fillHollow 2022-05-01 21:58:30 +02:00
Martin Gerhardy 879b1143c4 VOXEDIT: added single voxel edit mode 2022-05-01 21:47:24 +02:00
Martin Gerhardy 7b31c98407 VOXELUTIL: implement a plane filling algorithm 2022-05-01 21:28:29 +02:00
Martin Gerhardy 71c4b24326 VOXCONVERT: changed default value for --image-as-volume-both-sides 2022-05-01 21:27:48 +02:00
Martin Gerhardy 745a1ad125 VOXEL: fixed mesh extraction for small volumes
introduced in 141e5ebd5a
2022-05-01 21:26:44 +02:00
Martin Gerhardy f36e3a20e9 VOXELFORMAT: fixed segfaul in vox format saving 2022-04-29 17:58:37 +02:00
Martin Gerhardy 1447cb34e9 CORE: improved stacktrace output 2022-04-29 17:52:16 +02:00
Martin Gerhardy 932a65d857 VOXCONVERT: clamp the maxdepth value 2022-04-29 17:21:36 +02:00
Martin Gerhardy 42174b9a86 VOXELFORMAT: copy more node values on split 2022-04-29 17:21:25 +02:00
Martin Gerhardy 02e9da377e VOXELUTIL: fixed result of split
the split created a volume with the depth of maxSize

while importing images with 1024x1024 the split thus created
1024x1024x256 in total - which is wrong
2022-04-28 19:54:14 +02:00
Martin Gerhardy 1300a3b301 VOXELUTIL: bump max volume size 2022-04-28 19:49:16 +02:00
Martin Gerhardy 6393a1ed2c JANITORIAL: fixed compile warnings in release builds 2022-04-28 19:46:06 +02:00
Martin Gerhardy e6c6dbbda5 LIBS: updated dearimgui 2022-04-28 19:40:47 +02:00
Martin Gerhardy bcf6755c19 VIDEO: minor helper function to check if a key is currently pressed 2022-04-28 19:33:59 +02:00
Martin Gerhardy 101abfa754 IO: fixed warnings 2022-04-28 19:21:35 +02:00
Martin Gerhardy 73511cbae7 VOXEDIT: The GUI goes crazy when press the key arrows and it is in edit mode
should fix issue #142
2022-04-25 21:38:12 +02:00
Martin Gerhardy 355b9e9bf4 UTIL: replaced unordered_set with own Set 2022-04-25 21:37:46 +02:00
Martin Gerhardy 74e0cfb21f VOXELFORMAT: const 2022-04-23 23:50:36 +02:00
Martin Gerhardy 950a1345a9 VOXELFORMAT: link to gltf overview 2022-04-23 23:20:35 +02:00
Martin Gerhardy 85ac43f847 VOXELFORMAT: tests for gltf voxelization 2022-04-23 23:09:21 +02:00
Martin Gerhardy d9abfaffbc VOXELFORMAT: apply the correct offset for the indices 2022-04-23 22:56:24 +02:00
Martin Gerhardy 9f0419c3e4 VOXELFORMAT: moved the primitive check 2022-04-23 22:41:28 +02:00
Martin Gerhardy 5c1d96e985 VOXELFORMAT: removed unused code 2022-04-23 22:33:26 +02:00
Martin Gerhardy 6b3d67fc81 VOXELFORMAT: ensure to only return a value volume if the node type matches 2022-04-23 22:18:05 +02:00
Martin Gerhardy 1a0567834c VOXELFDRMAT: extend GltfVertex 2022-04-23 22:02:00 +02:00
Martin Gerhardy c4044fbff2 VOXELFORMAT: apply index offset
this is always zero in current cases
2022-04-23 21:51:59 +02:00
Martin Gerhardy 37684a3eae VOXELFORMAT: supported strided storage 2022-04-23 22:02:02 +02:00
Martin Gerhardy 163be39864 VOXELFORMAT: debug output 2022-04-23 21:47:17 +02:00
Martin Gerhardy d674d15092 VOXELFORMAT: added a few asserts to the gltf format 2022-04-23 21:34:45 +02:00
Martin Gerhardy 853ce9b230 VOXELFORMAT: a few gltf fixes 2022-04-23 21:31:30 +02:00
Martin Gerhardy 92fc77e8b6 IO: don't try to load a directory in Filesystem::open 2022-04-23 21:29:56 +02:00
Martin Gerhardy 1d45aba0e5 VOXEL: minor cleanup 2022-04-23 21:14:59 +02:00
Martin Gerhardy 9d85d3b842 VOXELRENDER: extract into method 2022-04-23 21:08:10 +02:00
Martin Gerhardy 3234e2e5b1 VOXELRENDER: reduced directy access to _state array 2022-04-23 20:58:02 +02:00
Martin Gerhardy 86c94760a8 VOXELRENDER: extract to method 2022-04-23 20:45:17 +02:00
Martin Gerhardy 7e3013ddac VOXELRENDER: extract the node id to volume id 'conversion' 2022-04-23 20:19:52 +02:00
Martin Gerhardy 80aa079dfe VOXELRENDER: also reduce maxExtraction counter if volume is empty
otherwise we don't remove it from the list
2022-04-23 20:19:52 +02:00
Martin Gerhardy 2c5a4f1fa8 VOXELRENDER: renamed methods 2022-04-23 20:11:44 +02:00
Martin Gerhardy 141e5ebd5a VOXELRENDER: prevent scheduling empty volumes for mesh extraction 2022-04-23 15:21:00 +02:00
Martin Gerhardy 057f35b12c VOXELFORMAT: allow to crop the volumes while splitting them 2022-04-23 14:08:39 +02:00
Martin Gerhardy 8c2e622111 VOXELRENDER: debug output 2022-04-23 13:58:01 +02:00
Martin Gerhardy 1d83289bb4 UI: sort the filter entries for the file dialog 2022-04-23 13:49:09 +02:00
Martin Gerhardy 0ab57336a6 VIDEO: again a bunch of dsa changes 2022-04-21 20:09:25 +02:00
Martin Gerhardy db130afdb7 VIDEO: use TextureConfig for genTextures 2022-04-21 19:59:38 +02:00
Martin Gerhardy df7ac7e624 VIDEO: more dsa stuff - but still a long way to go
https://github.com/fendevel/Guide-to-Modern-OpenGL-Functions#dsa-direct-state-access
2022-04-20 22:11:23 +02:00
Martin Gerhardy fed845ac65 VIDEO: check for BufferStorage feature 2022-04-20 21:57:26 +02:00
Martin Gerhardy 728d7d93a5 VIDEO: fixed dsa create method usage 2022-04-20 21:47:28 +02:00
Martin Gerhardy 001ea6e607 VOXEDIT: use the correct volume coordinate
picking via mouse is still not yet working though
2022-04-20 21:34:23 +02:00
Martin Gerhardy 22e92564cb VOXEDIT: ensure that the cursor voxel is never air 2022-04-20 21:32:51 +02:00
Martin Gerhardy 5037e3e76c VOXEDIT: update the cursor face even if the voxel coordinate did not change 2022-04-20 21:32:08 +02:00
Martin Gerhardy 3dc32e37e8 VOXEDIT: removed redundant check 2022-04-20 21:31:44 +02:00
Martin Gerhardy dd227d8d8f VOXEDIT: fixed initial click to place voxel not working
the reset() method set the voxel back to air - this is fixed now
2022-04-20 21:07:52 +02:00
Martin Gerhardy 9f0a38e754 VIDEO: renderer features are disabled by default 2022-04-20 20:45:11 +02:00
Martin Gerhardy 26747f51af VOXEDIT: also show single faces on volume boundaries 2022-04-20 20:05:08 +02:00
Martin Gerhardy 536c5822db VOXEDIT: moved cvars 2022-04-20 17:33:21 +02:00
Martin Gerhardy 3c00ef049f VOXEDIT: moved default values for cvars 2022-04-20 17:26:35 +02:00
Martin Gerhardy 4552e32a4d VOXEL: initDefaultPalette() takes palette cvar into account 2022-04-20 17:23:26 +02:00
Martin Gerhardy 8ce70b4873 VOXEDIT: moved cvar default values into one location 2022-04-20 17:23:08 +02:00
Martin Gerhardy 6a20c762ce VOXEDIT: show all cvars on --help 2022-04-20 17:17:13 +02:00
Martin Gerhardy 9f3a346a9a RENDERER: default grid resolution is 1 2022-04-20 17:09:39 +02:00
Martin Gerhardy 0105ba5c2c VOXEDIT: show full cube if the grid resolution is not 1 2022-04-20 17:08:03 +02:00
Martin Gerhardy 98cbe9a638 VOXEDIT: cursor voxel is now always red 2022-04-20 17:05:06 +02:00
Martin Gerhardy 7da451fc65 VOXEL: given enum values numbers to easier reading 2022-04-19 21:27:22 +02:00
Martin Gerhardy 4e37bc8392 VOXEDIT: the 'cursor' voxel is in front of the stuff you want to delete or place #148 2022-04-19 21:20:47 +02:00
Martin Gerhardy 17c16d0c75 VOXELFORMAT: fixed palette index for schematic files 2022-04-19 21:15:17 +02:00
Martin Gerhardy 760532b6d6 VIDEO: allow to pick sides of a cube to generate 2022-04-19 21:02:25 +02:00
Martin Gerhardy 42a3c3b3ea VOXELFORMAT: added alpha support to minecraft color mappings 2022-04-19 21:06:03 +02:00
Martin Gerhardy 6422224d77 VOXELFORMAT: convert debug to warn message 2022-04-20 12:47:59 +02:00
Martin Gerhardy f2cee06757 VOXELFORMAT: format the mc mapping 2022-04-19 20:22:13 +02:00
Martin Gerhardy 05baed7e6f UI: show the UINotifyDismissMillis cvar in --help, too 2022-04-19 20:21:05 +02:00
Martin Gerhardy 21160dc376 CORE: renamed cvar 2022-04-19 20:11:23 +02:00
Martin Gerhardy 18f3d31da7 VIDEO: allow to disable renderer features 2022-04-19 20:00:55 +02:00
Martin Gerhardy 1ca2ec27e7 VIDEO: allow to disable certain renderer features via cvar 2022-04-19 19:44:50 +02:00
Martin Gerhardy 959890983c VOXELFORMAT: prepare write support for minecraft region files 2022-04-18 20:54:38 +02:00
Martin Gerhardy d291ad4824 VOXELFORMAT: moved method into cpp file 2022-04-18 16:59:42 +02:00
Martin Gerhardy 4cea5d91d0 VOXELFORMAT: store cameras for gox format 2022-04-17 13:03:04 +02:00
Martin Gerhardy 68c3f2256c VOXELFORMAT: removed superfluous methods 2022-04-17 12:44:34 +02:00
Martin Gerhardy 460e80a8ab VOXELFORMAT: removed merge() 2022-04-17 12:10:14 +02:00
Martin Gerhardy c51fe2d08c VOXELFORMAT: updated ogt_vox with improved animation support 2022-04-16 06:45:47 +02:00
Martin Gerhardy 620370c3f2 VOXELFORMAT: updated ogt_vox 2022-04-16 06:32:30 +02:00
Martin Gerhardy ca4f305f7f VOXEDIT: fixed placing the timeline 2022-04-16 06:31:38 +02:00
Martin Gerhardy f425c549f7 UI: updated dearimgui 2022-04-14 18:57:13 +02:00
Martin Gerhardy 00fb304039 UI: updated imguizmo 2022-04-14 18:53:50 +02:00
Martin Gerhardy 7c1a8ccc3e VOXELFORMAT: removed duplicated logging line 2022-04-13 20:32:08 +02:00
Martin Gerhardy 5738caf514 VOXELFORMAT: fixed for loading the textures
looks like the uv map is still wrong
2022-04-13 20:30:18 +02:00
Martin Gerhardy 2c46d22005 VOXELFORMAT: support loading vertex colors 2022-04-13 20:13:28 +02:00
Martin Gerhardy a2a3aaaa33 DOCS: updated gltf format table entry 2022-04-13 19:38:22 +02:00
Martin Gerhardy 0c7d075ffb VOXELFORMAT: renamed methods 2022-04-12 22:28:12 +02:00
Martin Gerhardy e1d62f667c VOXELFORMAT: updated ogt_vox 2022-04-12 22:20:33 +02:00
Martin Gerhardy 2a8a347a51 VOXELFORMAT: fixed missing the child nodes when loading gltf 2022-04-12 22:13:01 +02:00
Martin Gerhardy fdc5480645 VOXELFORMAT: implemented gltf voxelization 2022-04-10 21:09:06 +02:00
Martin Gerhardy a768b30cdd VOXELFORMAT: added hash writing for vxa 2022-04-10 16:28:33 +02:00
Martin Gerhardy 9f16ff61d3 CORE: split md5 functions 2022-04-10 15:53:22 +02:00
Martin Gerhardy 58338bfd80 CORE: extended util functions 2022-04-10 15:47:47 +02:00
Martin Gerhardy a8b7de3de4 VOXELFORMAT: prepare to save all animations 2022-04-10 11:17:23 +02:00
Martin Gerhardy f1621ab1cd VOXELFORMAT: activate the vxa saving
the md5 calculation for the vxa is still missing
2022-04-10 11:06:50 +02:00
Martin Gerhardy bceac031f8 VOXELFORMAT: bump vxr to version 9 and implemented vxa saving 2022-04-10 11:03:31 +02:00
Martin Gerhardy fbc7cf89a5 VOXELFORMAT: save vxr version 9 2022-04-10 10:34:31 +02:00
Martin Gerhardy 4fe6e7aa95 VOXELFORMAT: write vxr version 8 2022-04-10 09:38:45 +02:00
Martin Gerhardy 7defbb50b5 VOXELFORMAT: write vxr version 7 2022-04-10 09:30:19 +02:00
Martin Gerhardy 4c159c6e48 VOXELFORMAT: write vxr version 6 2022-04-09 21:22:36 +02:00
Martin Gerhardy 85b00430da VOXELFORMAT: write vxr version 5 2022-04-09 21:13:57 +02:00
Martin Gerhardy f3ffa30ca1 VOXELFORMAT: fixed typos 2022-04-09 20:59:29 +02:00
Martin Gerhardy d6a751dd60 VOXELFORMAT: preserve node hierarchy for vxr 2022-04-09 19:26:45 +02:00
Martin Gerhardy 2c2638aad0 VOXELFORMAT: updated ogt_vox 2022-04-09 08:37:06 +02:00
Martin Gerhardy cb6c761124 VOXELFORMAT: fixed MATL chunk saving. the _type dict value was missed in the key count 2022-04-08 21:30:09 +02:00
Martin Gerhardy 75ccf6fb60 VOXELFORMAT: reduce hash calculation while loading a palette 2022-04-08 21:29:29 +02:00