|
This blog post sums up the most important improvements in Atomontage Engine done in the past two years.
The project made significant progress in data management, geometry processing, voxelization, VR and a lot more.
This all was possible thanks to supporters like Dan Tabár / Data Realms,
people from Schenker Notebooks,
Frank Vreriks, Juan Pedro de Andres Dias,
Branislav Brtko and
many others.
If you like this project, feel free to provide me with some ultra hi-poly geometry
or become a donator. Thank you!
All you see in this blog post was voxelized/generated and then rendered in real-time on a XMG P722 notebook (assembled in 2012, specs).
You can find more technical info in the descriptions of the particular YouTube videos.
Also check out the related Gallery on Facebook.
Dynamic Voxel Bodies
Several issues with dynamic rigid voxel bodies (cars, etc.) got fixed.
In general, there can be many hi-res destructible rigid voxel bodies like cars with very little impact on the performance.
Tank model by Mattias Magito.
YouTube: High Resolution Voxel Tank,
short clip: GFY
or GIF.
The original 3MPoly model would be a bit difficult to render and modify in real-time. The voxel model can be rendered easily with hundreds of FPS (could be thousands on a modern gaming PC).
The time is near when artists won't have to care about polygon counts anymore!
Tank model by Mattias Magito.
YouTube: High Resolution Voxel Tank Closeups,
short clip: GFY
or GIF.
Dynamic voxel bodies are destructible in the same way as static geometry. The simulator simulates the updated geometry the way it is expected.
APC by Nikolay Nikolov,
cabrio by Peter Blazej,
buggy by Mattias Magito.
YouTube: Destructible Voxel Vehicles,
short clip: GFY
or GIF.
Improved Content Generators
Generators perform better thanks to faster code and improved multithreading.
Fast generation makes it possible to create an object or scene multiple times and iterate toward great results more quickly.
In a typical future scenario the scene will be generated dozens or hundreds of times automatically in order to find the best set of generation parameters for minimal cost.
YouTube: Concrete Buildings Flyover,
(with motion blur),
short clip: GFY
or GIF.
YouTube: Concrete Building Interior,
(with motion blur),
short clip: GFY
or GIF.
YouTube: Concrete building interior - voxel LODs,
short clip: GFY
or GIF.
The sand, hexahedron block, surface detail and texture- and noise-based damage compile-time generators have been improved significantly.
They are finally capable to create realistic geometry suitable for first-person view scenarios.
YouTube: Concrete Building Closeups,
(with motion blur),
short clip: GFY
or GIF.
Ray-Based Voxelization
A ton of issues with ray-based voxelizer have been fixed. While this voxelizer can't be used with very flawed meshes,
it is now more robust in combination with a set of post-voxelization filters.
These can be used to automatically remove most of the artifacts caused by voxelization or mesh processing (a flawed mesh export or import).
Hi-poly buggy by Mattias Magito,
hi-poly cabrio by Peter Blazej.
Buggy short clip: GFY
or GIF,
cabrio short clip: GFY
or GIF.
The voxelization artifacts on the buggy (orange) have been fixed automatically using post-voxelization filters:
A 2GVx Buggy Model
(with motion blur).
Projection-Based Voxelization
The severe artifacts on the cabrio (magenta) cannot be fixed automatically.
Ray-based voxelization can fail completely usually due to open volumes, seams, overlapping polygons or missing whole parts (e.g. the underbody of a car).
The solution to this problem is projection-based voxelization.
This method provides good results with almost any polygon geometry that looks good when rendered using a polygon renderer.
Cabrio by Peter Blazej.
YouTube: Projection-Based Voxelization,
(with motion blur),
short clip: GFY
or GIF.
Cabrio by Peter Blazej.
YouTube: Projection-Based Voxelization Example,
(with motion blur),
short clip: GFY
or GIF.
Low-Poly APC model by Nikolay Nikolov.
YouTube: Voxelized Low-Poly APC Model - Voxel LODs,
short clip: GFY
or GIF.
VR with Oculus Rift
The performance of the engine is good enough to render VR, but the frame rate fluctuates strongly in high-resolution (first-person view) scenes when camera moves quickly.
This will be fixed after I rewrite one crappy 6-years old piece of code in the renderer.
That fix will make it possible to maintain stable FPS (can be 90FPS or even 120FPS) independently of the geometry complexity or scene detail.
YouTube: Concrete Building in VR with Oculus Rift,
short clip: GFY
or GIF.
Tank model by Mattias Magito.
YouTube: Playing with a Tank in VR with Oculus Rift,
short clip: GFY
or GIF.
And The Best of All...
A major update to the compression scheme is just happening – soon a sparse definition of some voxel geometry will reduce the memory/medium footprint by 70-90%.
This combined with perception-driven optimization will often reduce data volume by more than 95%.
So one of the goals for 2015 is to encode 100GVx to 1TVx scenes to file sizes that would fit on cheap phones from 2014, or a whole game with 10-20 levels on a more recent phone.
This is exactly what we need for having mobile VR + first person view + fully destructible huge scenes in a single app.
And movies. True three-dimensional movies!
What Comes Next?
The current top goal is to create a demo that will make it clear to everybody that voxels already are a viable alternative to existing approaches.
The new scene should feature 50+ fully destructible buildings, large landscape (possibly a whole planet), a number of destructible voxel vehicles, etc.
The detail level should make it look good in first-person view VR.
Want More? Visit the related Gallery on Facebook
and follow Atomontage Engine on YouTube,
Twitter and
Facebook.
| | |
|