Skip to main content
New Participant
December 17, 2013

Oculus + unlimited detail (Euclideon)

I'm not a developer, just a gaming and VR enthusiast. I was wondering if anyone thought of or is working on using Euclideon's Unlimited Detail technology to make an absolutely EPIC VR experience yet? If you haven't heard of Euclideon, here is their official site, it is truly incredible, and it's potential could be more fully appreciated and realized with the Oculus.

http://www.euclideon.com/

Euclideon's unlimited detail technology does exactly that. It allows the use of unlimited point cloud data in place of polygons for rendering graphical software. Sounds impossible, but they claim it works due to a google-like search algorithm that is able to find and send to your systems ram, only one point of cloud data for every pixel of your monitor. In this way the processor requirements to render any scene no matter how graphically detailed, stays exactly the same, and manageable. Whats more, the requirements are so low, even a basic laptop can produce graphics 100,000 times more detailed than even the most advanced polygon-based game on the market today. It seems to me, that due to this fact, it should help the oculus meet it's demanding latency requirements far better than polygon-based graphics, AND it will look about 100,000 times cooler... but dont take my word for it, do your own research on this.

Euclideon has received a lot of flak and harassment from the tech community doubting their claims, but as you can see from their site, they have their act together, and make a very convincing case.

someone with the skills, MAKE IT HAPPEN please!!! Oculus + Euclideon = EPIC WIN and the future of simulation technology.

    86 replies

    Up and Coming
    April 4, 2014
    Tested under 16 msec to lookup a substring match returning ALL names containing that substring in a BWT containing 2 million names (on old hardware). Much faster on modern hardware, and I designed a way to pre-index the first 16-bits of the pattern in a direct-lookup cache, skipping many steps in a normal BTW binary search. So yeah, no worries mate!

    BWT indexing is pure magic!

    For a hint of the speed of BWT indexing, download and install "Evertything" from voidtools.com. Super-fast BWT disk search, even with billions of files (I keep 12 multi-terabyte hard drives mounted and I can search them all instantly -- a "must have".

    Marching requires keeping BWT lists for each axis, or a single list with a double sequence so you can start at any axis and get the others on the rest of that substring... I thought I mentioned this in a PM back then, but you were not that interested in BWT at that time so perhaps you missed that point...
    This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
    Up and Coming
    April 4, 2014
    "geekmaster" wrote:
    Tested under 16 msec to lookup a substring match returning ALL names containing that substring in a BWT containing 2 million names (on old hardware). Much faster on modern hardware, and I designed a way to pre-index the first 16-bits of the pattern in a direct-lookup cache, skipping many steps in a normal BTW binary search. So yeah, no worries mate!

    BWT indexing is pure magic!

    For a hint of the speed of BWT indexing, download and install "Evertything" from voidtools.com. Super-fast BWT disk search, even with billions of files (I keep 12 multi-terabyte hard drives mounted and I can search them all instantly -- a "must have".


    Ok ok, let's prove it shall we?

    You have the source/know-how, we have the renderer source. Why not do it?

    https://github.com/bcmpinc/voxel-engine


    * btw, my second baby will be born in the next few days, so I may disappear all of a sudden.
    Up and Coming
    April 4, 2014
    "densohax" wrote:
    Ok ok, let's prove it shall we?

    You have the source/know-how, we have the renderer source. Why not do it?

    https://github.com/bcmpinc/voxel-engine

    Busy at the moment on a hybrid VR/robotics project that is now in the R&D phase. Some say it will be "the killer app" for VR... No details to publish due to business requirements. Like I said elsewhere (geekmaster @ gdc thread), a euclideon clone is a "back burner" hobby project for me at this time. But it DOES interest me a lot, because of my already-working BWT code. I wrote my own highly-optimized pipelined parallel LZ4 decompress and BWT lookup code, but I use libdivsufsort to create my BWT index.

    And that 16 msec lookup includes LZ4 decompression of the index too...

    You have awakened my attention here though, so perhaps in a few weeks (if it doesn't drop off my radar)?

    Babies are fun, once you get past the diaper changing (and diaper overflow events). ;)

    BTW. I would love to work with Mark Zuckerberg and crew, getting loaned to Oculus VR now and then. That would instantly pre-empt my current project.
    :D
    This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
    Participant
    April 4, 2014
    "geekmaster" wrote:
    "densohax" wrote:
    Ok ok, let's prove it shall we?

    You have the source/know-how, we have the renderer source. Why not do it?

    https://github.com/bcmpinc/voxel-engine

    Busy at the moment on a hybrid VR/robotics project that is now in the R&D phase. Some say it will be "the killer app" for VR... No details to publish due to business requirements. Like I said elsewhere (geekmaster @ gdc thread), a euclideon clone is a "back burner" hobby project for me at this time. But it DOES interest me a lot, because of my already-working BWT code. I wrote my own highly-optimized pipelined parallel LZ4 decompress and BWT lookup code, but I use libdivsufsort to create my BWT index.

    And that 16 msec lookup includes LZ4 decompression of the index too...

    You have awakened my attention here though, so perhaps in a few weeks (if it doesn't drop off my radar)?

    Babies are fun, once you get past the diaper changing (and diaper overflow events). ;)

    BTW. I would love to work with Mark Zuckerberg and crew, getting loaned to Oculus VR now and then. That would instantly pre-empt my current project.
    :D


    more like a la surrogate style or a telecommunication device?
    http://vrdisplay.blogspot.de/
    Up and Coming
    April 4, 2014
    "cerebral" wrote:
    "geekmaster" wrote:
    "densohax" wrote:
    Ok ok, let's prove it shall we?

    You have the source/know-how, we have the renderer source. Why not do it?

    https://github.com/bcmpinc/voxel-engine

    Busy at the moment on a hybrid VR/robotics project that is now in the R&D phase. Some say it will be "the killer app" for VR... No details to publish due to business requirements. Like I said elsewhere (geekmaster @ gdc thread), a euclideon clone is a "back burner" hobby project for me at this time. But it DOES interest me a lot, because of my already-working BWT code. I wrote my own highly-optimized pipelined parallel LZ4 decompress and BWT lookup code, but I use libdivsufsort to create my BWT index.

    And that 16 msec lookup includes LZ4 decompression of the index too...

    You have awakened my attention here though, so perhaps in a few weeks (if it doesn't drop off my radar)?

    Babies are fun, once you get past the diaper changing (and diaper overflow events). ;)

    BTW. I would love to work with Mark Zuckerberg and crew, getting loaned to Oculus VR now and then. That would instantly pre-empt my current project.
    :D


    more like a la surrogate style or a telecommunication device?



    More like this:

    kojack
    Honored Contributor
    April 4, 2014
    Euclideon back in 2004:


    (Of course they weren't called Euclideon back then)
    Author: Oculus Monitor , Auto Oculus Touch , Forum Dark Mode , Phantom Touch Remover , X-Plane Fixer Hardware: Threadripper 1950x, MSI Gaming Trio 2080TI, Asrock X399 Taich Headsets: Wrap 1200VR, DK1, DK2, CV1, Rift-S, GearVR, Go, Quest, Quest 2, Reverb G2, Quest 3
    Up and Coming
    April 6, 2014
    Euclideon does have an SDK that you can get... probably for a load of cash. I tried contacting them but I think their contact page is broken... or maybe they just ignored me. They list a phone in their website but I'm not up for such long distance calls.

    I've been following Brigade for a long time and they are getting there, slowly. I think we'll have to wait a few more years for something usable in games, since their demos tend to run on things like 4 Titan cards and still are full of noise, but eventually it'll be usable in sub-$1500 hardware and without the noise I guess.
    Up and Coming
    April 7, 2014
    I've heard it said that what helped Soviet scientists develop the Hydrogen bomb was not so much leaks (though that played a part) as the fact that they knew it could be done. So long as something fell into the "it's impossible to do" mindset, it remained impossible to do for most. Once creative minds saw something actually occur, the gloves came off on mental limitations as now a destination was known. The path to that destination might end up being different, maybe even less efficient but it will occur given enough resources.

    Ok, so everyone saw UD pull something people claim can't happen without trickery. I like that people on this board are playing the "I think I know what method they're using" instead. No clue on my part, but I like the idea.

    Anyway, this is beyond me, but let me see if I understand the basic magic trick with "infinite resolution": Unlimited Detail stores cloud point data and organized that data in some sort of database they're able to rapidly access. The cloud points in that data start off as pretty much 3 positional coordinates and 1 color definition which means six numbers total per cloud point. These numbers are then stored in a database in some manner that's not only faster to access but takes up 1/6th the original storage space. Unlimited Detail then wants to populate the computer screen where each pixel is determined by the color of 1 cloud point among billions of options from that database.

    So are they using something like rays? One ray per pixel they want to populate, originating from the single point of view with an intersection of a pixel of a virtual monitor screen. The first cloud point it intersects determines the color for that pixel? Next pixel is a slightly different trajectory for the ray so likely has a different cloud point it'll hit assuming a certain distance is passed. The cloud point still represents a certain volume like .25mm cubed so that point's colors could still count so long as some part of the volume is intersected by other rays as well. Somehow they organize the database of points so that they can access the color fast based on first point the ray's trajectory hits first.

    Judging by the screen resolution and the frame rate, I assume one can even figure out how fast they're finding each point and assigning the pixels.

    Assuming the above makes any sense and they do use ray geometry for a flat image generation, would a more complicated geometry to account for lens distortion and chromatic aberrations be used to determine the path of the ray and changes to the color of the cloud point that gets intersected? Or will it still be the case that you need to populate a screen (well, two screens, one per eye) then apply distortion?

    I'm still pretty lost in all of this, but it has been fascinating to read this thread.
    Up and Coming
    April 7, 2014
    "nukemarine" wrote:
    ... Somehow they organize the database of points so that they can access the color fast based on first point the ray's trajectory hits first. ...

    That's why I believe that BWT will work. A single lookup returns a sorted sparse coordinate/color list along an axis, and you can binary search a near clipping plane, then the next point is the color you want. The warp mask axis intersect pixel tells you which axis (or axes) to traverse.

    "densohax" wrote:
    ... I do not see how you can march in 3d using bwt.

    I would BWT all three axes and intersect them using 3D Bressenham's line algorithm to step the triaxial BWT sparse lists in 3D space. I figured out how to embed opcodes so all three axes can be efficiently encoded in one triaxial BWT table, which itself can be compressed. No need to decompress the table to search it (which consumed a huge amount of my time and thoughts to figure out, but that part was tested and working several years ago in familial namespace).

    I also use fast compressed bitmap index searches, and they may find a use in here too. I can do logical operations on bitmaps to do advanced searching, pipelined into the search (or cached separately).

    I have hundreds of hours of research and thought experiments invested into fitting my BWT code into doing what euclideon does, and THOUSANDS of hours in BWT itself, and hundreds of hours implementing various bitmap index search techniques, and what I have learned can fill a book. I just gave you a summary of my plan of attack. I see in my mind's eye how this can be useful for VR.

    Please give me credit if you build upon my ideas.
    This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
    Up and Coming
    April 15, 2014
    Euclidean is the type of company that makes huge claims, and then asks for funding, gets funding, and then never releases a demo or product, because claims cannot be met. :roll: I blame the investors for letting this continue for so many years.