AuthorTopic: Blackbox Voxel Tool  (Read 16633 times)

Offline RAV

  • 0010
  • *
  • Posts: 293
  • Karma: +0/-0
    • View Profile
    • Blackbox Voxel Tool

Re: Blackbox Voxel Tool

Reply #30 on: October 22, 2016, 01:48:01 am












Download update version 0.1w


Fixed input handling when refocusing window by other means than clicking it.

Fixed key Alt conflicting with key Ctrl for other functions than Line.

Fixed weird selection frame when changing selection size while holding key Alt.

Fixed crash when trying to manually flip / rotate while changing selection size.

Fixed some minor issues with hidden Gui mode and hotkeys.

Fixed insufficient precision of vertex coordinate arithmetic.

Fixed or reduced artifacts in the rendering of cubes (breaking seams).



Changed default Field of View from 90 degree to 87.5.

Changed world size from 15 to 16 levels.

Changed miniumum move speed from 9 to 8.

(The scale has a better feel to it now.)


Changed mini cams to no longer transfer grid mode to main cam.

Changed default mini cams to orthographic projection, until you set them manually.

(Use F1-F4 + b to reset mini cams to that default.)



Added Presentation view mode for scene overview. Use key p to toggle it on/off.

When in this mode, your view is set to orthographic projection,
and your controls change: press keys w, a, s, d, q, e to rotate scene.

Ctrl + rotation key to keep a little spin in that direction going on its own.
Doing that several times in the same direction speeds it up.
In the opposite direction slows it back down again.
Doing a manual rotation in same direction or opposite cancels the auto spin.
Press key Enter to pause/resume all spinning.

Combine different directions at different speeds.
Finding weird spin patterns is fun to play with.
The Presentation mode remembers your auto spin settings,
so toggle in and out to work on your scene or watch it.

Shift + rotation key for one step by 45 degree.

You can swap palettes (arrow), toggle grid (tab),
reset view (b) and toggle mouse (spacebar) as usual.



Note:
Since Blackbox scale operates at the computational limits of computers,
we are wrestling with precision failures that cause artifacts in the rendering.
This is mostly caused by the Bit limits in floating point vertex coordinates.
We could greatly increase the scale of the visible world even more,
but then we'd also have to deal with ever so more pixel faults.
The current setting are right at the edge of this, a current sweet spot.

If consumer graphics hardware moves from 32bit to 64 bit precision processing,
this would give us a lot more room with a lot less artifacts to deal with.

But if necessary we could increase world size dramatically even now,
by 16 times in axis length, 256 times in surface area and 4096 times in volume
of the current one here, and try deal with the pixel faults by scene design.

However, for the time being, the current settings seem appropriate enough.

Offline surt

  • 0011
  • **
  • Posts: 570
  • Karma: +0/-0
  • Meat by-product
    • not_surt
    • http://pixeljoint.com/p/2254.htm
    • View Profile
    • Uninhabitant

Re: Blackbox Voxel Tool

Reply #31 on: October 22, 2016, 04:29:19 am
Have you tested double precision yet?
I think it's quite reasonable to expect the users of 3D graphics software have halfway recent/decent GPU.

Offline RAV

  • 0010
  • *
  • Posts: 293
  • Karma: +0/-0
    • View Profile
    • Blackbox Voxel Tool

Re: Blackbox Voxel Tool

Reply #32 on: October 22, 2016, 04:44:39 am
Double precision comes at horrible performance breakdowns. Between 2 and 21 times slower. Even on the latest Hardware.
It also doubles the memory cost. So that would half the current amount of cubes.

I may reconsider at some later point, but the current settings seem to be best for the widest range of users right now, as an official version.
If you really want to see it working at mindblowing galactic scale, I may release special test versions, so you can judge benefits vs problems for yourself.

Offline RAV

  • 0010
  • *
  • Posts: 293
  • Karma: +0/-0
    • View Profile
    • Blackbox Voxel Tool

Re: Blackbox Voxel Tool

Reply #33 on: October 22, 2016, 06:08:43 pm
The Blackbox principle immortalizes pixel art. It's like the sentence of Pythagoras in math.
An eternal truth. Limitless. Never again can hardware outpace it.
Everything else is insignificant to its scale.
It is the law of the world.

No matter the screen technology or processing, this interpretation of pixel art adapts and trounces.
Its abstraction and virtualization of the grid distills the ultimate core creativity of pixel art.

Other trends and tricks in graphics may come and go. The basic pixel blueprint to the universe stays forever.

Godly pixel power. That spells judgment on all things. Tremble, mortal. For you have sinned against the sacred art.



« Last Edit: October 22, 2016, 06:35:16 pm by RAV »

Offline 0xDB

  • 0011
  • **
  • Posts: 873
  • Karma: +0/-0
  • Dennis inter-is.
    • dennisbusch_de
    • http://pixeljoint.com/p/1287.htm
    • 0xdb
    • View Profile
    • 0xDB

Re: Blackbox Voxel Tool

Reply #34 on: October 22, 2016, 09:30:36 pm
The Blackbox principle immortalizes pixel art. It's like the sentence of Pythagoras in math.
An eternal truth. Limitless. Never again can hardware outpace it.
Everything else is insignificant to its scale.
It is the law of the world.

No matter the screen technology or processing, this interpretation of pixel art adapts and trounces.
Its abstraction and virtualization of the grid distills the ultimate core creativity of pixel art.

Other trends and tricks in graphics may come and go. The basic pixel blueprint to the universe stays forever.

Godly pixel power. That spells judgment on all things. Tremble, mortal. For you have sinned against the sacred art.
Always nice to feel like that about something. What kind of pixel precision issues are you talking about though? (didn't notice anything odd in that last gif)

Offline RAV

  • 0010
  • *
  • Posts: 293
  • Karma: +0/-0
    • View Profile
    • Blackbox Voxel Tool

Re: Blackbox Voxel Tool

Reply #35 on: October 23, 2016, 05:19:43 am
Ya, gets me all fired up. Good carry through all the shit. This issue is pretty much fixed now in the current version release on which this media is based on, to a point I consider it no longer relevant for the current scale settings. You'd have to try hard finding some stray issues when mucking around. But up until the last version it could get nasty too quickly when you painted on a cube that's not coloured wholesome, by way it breaks up and slightly reveals hidden surfaces of different colour as seams between cubes, when the precision of calculations isn't enough. Wasn't a dealbreaker though, it could be worked around. The Guild Halls video was on such a faulty version, and it wasn't something you'd notice in it. So if we were to massively increase size right now, the issue would just come back as it was before. Maybe that could be taken as an acceptable trade off, depending on the kind of project done with it. But my goal right now is getting the tool fixed from issues, finding sweet spots all things considered, and a minimum viability. Later we can see where to expand and bend things if need be, try whacky stuff.

I once suspected it might be the depth buffer being too imprecise. It's the first problem to think of as obviously connected to scale. But never made sense, since it got worse near, not far. Depth buffer is most precise near. Increased depth buffer from 16 to 32 bit anyway, since we need everything on this scale. The issue with floating point precision on vertex coordinates is a mixed bag of problems and how to deal with it. Depending on your settings and demands, how close you get, any vertex always kinda wobbles a little around on some level, it's just a matter how relevant that math is in the end for the final scene render. When we want absolute scale while pixel art has a high demand for clarity in its bold choices, it gets disturbed especially hard, so we gotta be careful here. Right now, by way the tool is designed overall, it works out well enough as is.

This whole thing isn't so much a problem with CPU dependent calculations on the scene, btw. Like for hit trace, which clearly works to highest standards. That's because doing double precision on today's CPUs is no big deal, whereas it very much still is on current GPUs. (though doing a hit trace that performs this well on scale still was kinda big deal, but for other reasons)
« Last Edit: October 23, 2016, 02:14:16 pm by RAV »

Offline RAV

  • 0010
  • *
  • Posts: 293
  • Karma: +0/-0
    • View Profile
    • Blackbox Voxel Tool

Re: Blackbox Voxel Tool

Reply #36 on: November 21, 2016, 08:18:25 am





Download update version 0.1x




Fixed how palette modification is supposed to work in Presentation mode.

FIxed mini cams in windowed mode when returning from presentation.

Fixed unintended auto-rotation on manual when in free mouse mode.

Fixed movement speed for all directions.



Added basic animation by frame.

key Plus/Minus for going to next/previous frame.
shift + Plus/Minus to insert new frame between current and next or delete current frame.
ctrl + Plus/Minus to copy content of current frame to the next/previous frame (overwrite).
shift + ctrl + Plus/Minus to insert new frame and copy current content at once.
Alt + Plus/Minus for swapping current frame with next/previous, instead of overwriting.

Keys Period/Comma are synonym to Plus/Minus.

Keys * or / for increasing or decreasing the timing of frame.
shift + * or / for modifying the step size for an increase or decrease.
The timing is copied over with a frame.

keys m or n is synonym to * or /.


To watch your animation press the number key 0 (toggle).
Or go into presentation mode with key p;
you can combine the animation with rotation.


Your colour palettes are global for all frames.
But each frame can have a different palette assigned.


The cube count is also global for all frames, instead of per frame.
That means you can have more or less voxels on different frames.
Use this to distribute your pool of cubes where needed most.
This way you make efficient use of memory.

Current maximum frames is 300. Even though you can freely distribute cubes,
the more frames you use, the less cubes can you spend on a single frame.
Using 300 frames means, each frame can't have more than 5000 cubes.
Having 1 frame means, you can spend all 1500000 cubes on it.
Having 10 frames means, you can spend 1450000 cubes max on any one of them,
or distribute these cubes in any other way you like across these 10 frames.


Note:
Animation is still rudimentary.
It needs a more "gridless" copy of cubes.
The GUI needs a greater upgrade for more info.
But even though it is slightly awkward and disorienting,
seeing how frame animation interacts with the rest is interesting.

Offline Naret

  • 0001
  • *
  • Posts: 18
  • Karma: +0/-0
  • "make one game a week" - Rami Ismail / Vlambeer
    • View Profile

Re: Blackbox Voxel Tool

Reply #37 on: November 21, 2016, 01:00:44 pm
could you show some screen or vid of the precision artifacts?
"make one game a week" - Rami Ismail / Vlambeer

Offline RAV

  • 0010
  • *
  • Posts: 293
  • Karma: +0/-0
    • View Profile
    • Blackbox Voxel Tool

Re: Blackbox Voxel Tool

Reply #38 on: December 17, 2016, 04:36:27 pm
Sorry, I'm late.

This was how it sometimes looked before the fix for the current size settings:



However, even for larger sizes this can be avoided by painting most cubes wholesome instead of different colours by side.

When going way too large on the settings though, the geometry just goes totally haywire.

Offline RAV

  • 0010
  • *
  • Posts: 293
  • Karma: +0/-0
    • View Profile
    • Blackbox Voxel Tool

Re: Blackbox Voxel Tool

Reply #39 on: December 17, 2016, 04:37:09 pm
Download update version 0.1y


Fixed crash when a frame exceeds its voxel capacity.

Fixed palette management corrupting other frames.

Fixed possible issue with selection on frame switch.

Fixed palette transfers not updating other frames.

Fixed new frame palette not set to current palette.

Fixed colour manipulation while in animation mode.

Fixed boundaries in mass colour modification.


Changed number of slots in palatte from 1024 to 256.
(may increase again later if necessary, but want to see this play out first.)

Changed default frame time modifier step from 25 milliseconds to 1/60 fps.


Added File System. You can now save to file.

key F5 for saving model and palette to file save.bvt
shift + F5 for saving only model to file save.vmp.
ctrl + F5 for saving only colour palette to file save.vcp.

key F6 for loading model and palette from file save.bvt.
shift + F6 for loading only model from file save.vmp.
ctrl + F6 for loading only colour palette from file save.vcp.

The file system allows for many changes while keeping backwards compatibility.
Your old work files will always be usable in newer versions of Blackbox.

Currently the file sizes are relatively large, at about 85 MB for a full scene.
And loading a maximum scene may take several seconds, during which the program seems to freeze.
File sizes and load times will be greatly improved in later versions.

It is possible that a person saves a full scene work to file and gives it to another person.
The other person may have less video memory than the first. In that case the scene cannot be fully loaded.
Though it will try to salvage and load as much as possible from the scene as fits into the smaller memory.