this is some super impressive work!
Thank you @pailhead
Some details i missed about the IndexedVolume: it can be used in existing projects with almost no effort, only updating of moving objects need the explicit update, tweaks are optionally. It would be nice to test it with some large-world projects.
The updating logic can be improved generally this way, such as simplifying it once the object isn’t visible anymore (every object can tell if it was visible the last frame, even if it was culled already by a node branch), by frustum or distance. Useful for objects that can skip costly updates and resume anytime, like pausing particle emitters, animations, sounds or other costly processes. Especially particles and animations can skip their most costly part, only updating the time state.
Exporting a scene with this object will create a binary index, so it will load fast without re-indexing it’s content. Indexing is content size and density depended, it optimizes the spatial tree and will discard smaller objects in larger nodes.
That’s very impressive ! I hope to have your level one day
Impressive and beautiful work! The rocks have very natural details. (The trees could be less cross-shaped and more “golden ratio Fermat spiral-shaped”, though.)
Will any of this be free or open-source?
It’s cooler if it’s open source.
This sounds absolutely awesome! Fantastic work.
WHEN is this coming out?
Which you’re refering to? I’ll release the IndexedVolume separate from Tesseract.
@Fyrestar The engine you made
I’ll release the IndexedVolume soon, Tesseract next then, but i can’t tell a exact date yet since i can only work on it in my spare time.
I’m very interested in IndexedVolume,How soon will it be released?
It will come soon as possible, unfortunatelly im sick since longer right now but you can definetly expect it this year, probably within next weeks, since there is only some documentation to finish.
There also has been a quiet a lot progress on Tesseract in past time, especially the universe model with solar systems and galaxies, as well as advanced fractal functions with erosion and statically composited fractal noise for more complexity while being less expensive, i’ll provide some updates on it soon.
I’m sorry to hear that ,and I hope you’ll get well soon.I have already followed you in Github. Will you release the IndexedVolume and Tesseract on Github?
There is an interesting GDC talk from Sean Murray on generating the worlds for No Mans Sky. He talks about how he started using satallite data for terrain generation but found it was boring in game. Lots of great information on procedural generation and inspiration for engine building too.
NMS was quiet a inspiration for me as well as Star Citizen, but this engine is going a little different route by it’s architecture which also aims to give the best possible performance for browser engines so it only takes minimal impact on the budget, leaving most room for the actual game. I never really heard about technical details how they solved various problems, mostly that they at least take advantage of 64bit what isn’t an option for WebGL. I think NMS is mostly based on a DC implementation for the close area, Tesseract mixes faster GPU tiles with volume terrain features only where it’s required, and another technique to maintain surfaces details like mountains in far LOD levels, this also helped with LOD since caves for example can be visible form a far distance while not being actually generated yet.
Since it aims to be a generic engine not being only controlled procedurally i had to work on different concepts and combining these without limiting each other. It can be fully automated/procedurally but also mixed with with different levels of manual control, starting from parameters, to sources and to hand-crafted data with procedural brushes composed on different levels.
Recently i’ve also focused on adding a faster method of procedural generation, like i mentioned above, statically composited layers of pre-baked terrain types which give a very detailed and natural result while being very cheap compared to the required noise functions. Basically when creating sources it always will be a mix of composed data and purely generated as very huge scaled sharp features like a several hundred kilometers long river cant be derived from static data, while all the details and terrain features can.
It’s a lot fun working out different noise features, but it’s also important to keep performance in mind, for example a complex varying but natural landscape can be also archived with feature blending of static maps and masks with different characteristics being very fast and predictable in terms of performance.
@Fyrestar is it possible to see the code for your engine somewhere?
No it’s closed in development yet, it’s been quiet a lot work for years and more to maintain, it will be available with 2 licences but also early access for partners 2020.
This looks amazing! Awesome job.
any website / place that present your work, incoming plans?
Do you use pure webgl or is it made using Three?