Sparse Voxel Octree demo.

Поделиться
HTML-код
  • Опубликовано: 6 окт 2024
  • This is a demo of an out-of-core sparse-voxel-octree realtime raytracer. This demo usually runs at more than 60 fps on my GeForce GTX 480. The maximum resolution of a single octree is 131,072 x 131,072 x 131,072.

Комментарии • 96

  • @stormAster720
    @stormAster720 Год назад +63

    10 yeats after, this still looks very impressive, I wonder I it would perform using modern hardware and coding techiniques

    • @Nerthexx
      @Nerthexx Год назад +1

      I mean, 1024x768 is like the quarter of 1920x1080, and we probably need 2x-4x the fps to be able to render other stuff that doesn't rely on an octree. But yeah, I'm interested too. Todays raytracing hardware supports Sparse Voxel Sets (use BVH raytracing, instead of an octree), which could speed things up too.

    • @theneonbop
      @theneonbop 5 месяцев назад

      Frozein, Xima, Douglas, John Lin are all youtubers working on impressive voxel engines

    • @qar_ty7732
      @qar_ty7732 4 месяца назад

      @@Nerthexx you know, computers have gotten a bit faster than 2-4x since 10 years ago

  • @hombacom
    @hombacom 11 лет назад +26

    You have to love Bruce's excuse 2012: “I suppose our big problem for a while was that we had so much power, but no content. Perhaps you noticed that Euclideon Island had to repeat the same objects over and over because one artist can’t make everything different. That problem has been fixed now because we have been doing a lot more work with laser scanners. You can make a lot more content when you start importing real environments from the real world.”

  • @GeorgiKrastevMusic
    @GeorgiKrastevMusic 2 года назад +9

    10 years ago 😭

  • @Eay5paev
    @Eay5paev 11 лет назад +22

    Voxels are the future of gaming and 4D simulations. Keep on the good work!

    • @Roxas99Yami
      @Roxas99Yami Год назад +4

      Here we are 10 years later into gaming and the only popular voxel game is minecraft. While octrees became standard usage in data load/unloading, voxels only remained feasable in the real of computational methods. SOR, boltzman etc etc

    • @darkengine5931
      @darkengine5931 Год назад +2

      @@Roxas99Yami I think a problem is content creation. Vectors graphics are so much easier to animate with the tools we have now than pixel or voxel graphics where we're generally forced to hand-draw each frame of animation or accept degradation and artifacts to what we drew. Discretized data is so much easier typically for programmers to work with, but sometimes much harder for artists when they want to do things like facial morphs or extreme bone deformations (ex: lifting a shoulder all the way up on a character).

    • @HeinzAnimation
      @HeinzAnimation 8 месяцев назад

      ​@@Roxas99Yami I would say that Minecraft will sooner or later not be the only popular one.
      The first Competitors are coming in.
      Vintage Story, a Released Indie one
      and
      Hytale, a unreleased one which got acquired by Riot

  • @x1expert1x
    @x1expert1x 3 года назад +4

    have you seen Teardown? We were right, voxels were the future

  • @Arelias95
    @Arelias95 3 месяца назад +1

    Gtx 480 was a beast of a gpu back then. Nice demo

  • @sarleryd
    @sarleryd 11 лет назад +3

    I've been waiting for more from you for a long time. Hope you release at least a very short demo video soon. :D

  • @SystemError51
    @SystemError51 12 лет назад +8

    F**k me diagonally. This is impressive.

  • @StiekemeHenk
    @StiekemeHenk 2 года назад

    Welcome in my recommended, I hope this blows up soon!

  • @nielsdaemen
    @nielsdaemen Год назад +1

    Basically how eucledions unlimited detail works

    • @darkengine5931
      @darkengine5931 Год назад +1

      I think somewhat to extremely different depending on your perspective. Euclideon renders point clouds and they're limited to orthographic rendering to my knowledge. The real test to me of both is how they can handle dynamic content like dynamic lights and dynamic modifications to the environment (ex: destructible environments). Euclideon seems to be at a significant disadvantage there to voxels since the discretized nature of voxels makes them easier to dynamically update efficiently as well as re-rasterize from sources like meshes.

  • @marcadamski3995
    @marcadamski3995 11 лет назад +4

    I think voxel rendering could benefit greatly from procedural generated elements for detail. Instead of repeating the same texture as is done currently, you would use procedural materials that vary and can be fully volumetric. This would remove the need to stream lots of data over the internet.

  • @Ricochet8844
    @Ricochet8844 11 лет назад

    This benefits gameplay. Voxels make in-game detailed environment destruction possible, and better graphics isn't automatically a bad thing.

  • @CYON4D
    @CYON4D 11 лет назад +1

    This is pretty impressive.

  • @6417893265q784256128
    @6417893265q784256128 11 лет назад +1

    But if you think in procedural materials the size on disk problem is nearly solved from theras to kbytes , really nice demo and runs fast .

  • @NotGarbageLoops
    @NotGarbageLoops Год назад +1

    Very damn nice.

  • @SpicyMelonYT
    @SpicyMelonYT 2 года назад

    Woah that man could spit facts like hes an old wester spitoon pro god damn!

  • @clankill3r
    @clankill3r 9 лет назад +1

    Really impressive!

  • @3sc4p1sm
    @3sc4p1sm 12 лет назад

    i found a neat octree where each node was not more then 1 byte, and color was stored as a hash table; i could've had a map as large as that decompressed in less than 80 mb/s using RLE to inflate compressed data quickly, and then deflate it when done using it.

  • @sarleryd
    @sarleryd 11 лет назад

    This is not a demo for the masses, it's aimed at other graphics programmers. Artist created assets would look prettier but is not needed yet since this is a technology demo, not a trailer for a game.

  • @redchards
    @redchards 11 лет назад

    Definitively not a waste of time, I agree.
    I personaly find voxels really interesting for large amount of things. It could be a future technology, it may be not, but since id software are interested about it, we can suppose that it's not completly useless :)

  • @aaron6807
    @aaron6807 Год назад +2

    A GTX 480???? HOLY FUCK WHAT THR FUCK

  • @pachesantiago
    @pachesantiago 11 лет назад

    nop, is the other way arround. triangles are deform and collide easly and fast. the thing with triangles is that a scene query has O(n) complexity, n being the numbers of triangles, and a SVO has O(log8(n)) complexity. global ilumination, caustics, etc, are perfect for SVO, cause they need to take into account the surrounding geometry. I'm working in a indie game, and my engine uses a hibrid SVO/Triangles scheme, raytracing SVO to get global effects(cant show anything right now, sorry ;) )

  • @dericc8611
    @dericc8611 9 лет назад

    Great demo!

  • @markmckinney1576
    @markmckinney1576 10 лет назад +2

    From the details released in the video, it's obvious that the engine is custom.

  • @willrandship
    @willrandship 11 лет назад

    You could handle the hard drive bottleneck fairly easily, by having on-the-fly decompression using an algorithm that operates quickly, and works well for this kind of data. Given that it compresses down to 80 MB, it sounds like it has a lot of duplicated sections in the file.
    That said, RAM usage would still be a problem.

  • @logitech4873
    @logitech4873 11 лет назад

    Euclideon has given the public enough proof enough. Directly and indirectly.
    They did an interview with a live demo, as direct proof.
    They submitted their technology for review to an Australian technology company that ended up investing in it, so it's clearly not a hoax.
    Not to mention that Microsoft is interested in using the tech in Bing maps.
    And with the lack of public information I will not take your beliefs on the lighting system seriously, because it's all just speculation at this stage.

  • @SuperGastrocnemius
    @SuperGastrocnemius 12 лет назад

    Amazing!

  • @ThunderDraws
    @ThunderDraws 8 лет назад

    really cool!

  • @alirezaghanbary8914
    @alirezaghanbary8914 5 лет назад

    Great Job!

  • @Truthiness231
    @Truthiness231 11 лет назад

    This technology would only be applicable to artists for a while, allowing them to sculpt very highly detailed levels. The memory size of this data is going to be HUGE, and would be best offset by first making a low-poly for this super-high-poly (either by hand or by procedural generation), and then baking the detail from the high to the low.
    Trying for destructible environments like this in games won't be feasible (for the avg machine) for a long while still. I'd jump on it when it is though.

  •  11 лет назад

    Atomontage (To my knowledge) is unlimited.
    But what's the difference? both are using SVO.

  • @master74200
    @master74200 12 лет назад

    If you ever get around to it, creating a large-scale demo of this would probably prove a lot people out there wrong in regards to this technology.

  • @lonnietc1674
    @lonnietc1674 Год назад +1

    @NewSoundGames Any source code available on this?

  • @zelexi
    @zelexi 12 лет назад

    nice work there :)

  • @ЕвгенийШевченко-я3б

    how about a new kind of render?? So.. if we will get all screen and subdivide him on 4. And trace from the centers of this 4 squares Ray that bouncing from the walls To The Light Source, and get the information about the color, And return that Color to the Square.. So if it was done faster than 1Second/60Frames - subdivide this 4 squares on 4, so we will get an 16 that squares which will calculate ray from them To Light.. May be we will get 60 FPS everytime, and get graphics that your card can produce, but without lagging

  • @TheGUARDIANOFFOR
    @TheGUARDIANOFFOR 10 лет назад +1

    come one we know that voxels or atom engines are future but no computer can actuali run them moving in real time.... so this is just prove of dream

  • @TheOtherLioyd
    @TheOtherLioyd 12 лет назад

    This is NICE.
    Do you think there could be some way to reuse data for repeating patterns? I'm thinking something like blocks. Like, instead of repeating a pattern over and over, there would be spots at so-and-so position around the playfield which would point to a single block of data at so-and-so angle, like we put textures on polys. Then generate the relevant data on-the-fly when a particular instance of that block is messed with in some way. I'm also an idiot who knows jack shit about coding.

  • @Nightmare1066
    @Nightmare1066 10 лет назад +3

    You can run this at real-time but without any animation. As soon as any animation computing is involved, the hardware would get overwhelmed with all the data it has to process. And also another problem obviously would be computer space for such an incredible amount of detail.

    • @leonsonstwie4816
      @leonsonstwie4816 9 лет назад +1

      ***** i think everquest did exactly that
      (im not suire what they did though so dont take my word for it)

    • @Nightmare1066
      @Nightmare1066 9 лет назад +1

      Yep I second Brooklynns comment. Very well spoken.

    • @blendertests5493
      @blendertests5493 5 лет назад

      Darko Bakula m.ruclips.net/video/nr5JqYYye3w/видео.html

    • @darkengine5931
      @darkengine5931 Год назад

      @@Nightmare1066 Voxel animation comes almost free of charge actually assuming a raytracer, since you can do it on the fly during traversal of the SVO/SVDAG. The problem with animating voxels is not the computational aspect but if you imagine voxels that are supposed to stay connected together without gaps in between, they will begin to show gaps if you animate them as soft bodies unless we start trying to compensate for that somehow. That's what makes them ill-suited for things like character animation -- not because it's expensive -- but because it quickly leads to artifacts.
      Exact same problem with animating pixels on a per-pixel basis at render time. Vector graphics are much more well-suited for animations that require deformations than pixel/voxel graphics.

  • @Charlie2531games
    @Charlie2531games 11 лет назад

    I'm currently in the planning stage of creating a 3d voxel engine with a form of ray-tracing. Couldn't you create individual instances for each repeating object, but have a special model for each instance that stores each voxel as either there or not there in a single bit? It would be far more efficient.

  • @theaceofthespade
    @theaceofthespade 12 лет назад +1

    Can you interact with/change the environment in real time? Even though it's being read from disk, could you do it to the in memory parts, even though they may be reset when you look back?

  • @jkayrouz
    @jkayrouz 9 лет назад +1

    One word... HOW

  • @MrMoodyKSA
    @MrMoodyKSA 10 лет назад

    what about those people like me with not so SUPER ULTIMATE FAST computers?

  • @zotlerg
    @zotlerg 12 лет назад

    Euclideon claim to not even use the graphics card for pixel calculations! Saying they use a search engine algorithm on one core of the CPU. Or maybe it's all a lie, I don't know.

  • @pachesantiago
    @pachesantiago 11 лет назад

    While voxels dont have a future for main surface rendering, global ilumination, diffuse reflections, and all the other soft global techniques are perfect for voxels.

    • @luukvanoijen7082
      @luukvanoijen7082 3 года назад +1

      7 years later, do you still think voxels have no future for main surface rendering?

  • @anwaraisling
    @anwaraisling 10 лет назад +1

    I am a member of a team working on a game project that could benefit from making use of your system. Any chance of being able to negotiate an agreement on the use of your technology?

  • @vfctffu3797
    @vfctffu3797 10 месяцев назад

    480 MY GOD

  • @MountainLabsYT
    @MountainLabsYT 2 месяца назад

    And its just gone. just gone.

  • @Keysofnine
    @Keysofnine 11 лет назад +2

    As if the basic game developer in this day and age does "NOT SPECIALIZE IN 3D GRAPHICS".

    • @tacokoneko
      @tacokoneko 3 года назад

      the year is 2021, actually 2D games are still developed, sometimes

  • @3sc4p1sm
    @3sc4p1sm 12 лет назад

    1 gigabyte decompressed? clearly he learned more about the GPU and spatial hierarchies then he did formatting and memory scaling;

  • @gregblastfpv3623
    @gregblastfpv3623 5 лет назад +1

    Is it dynamic though ? Can you have physics for example ?

    • @luukvanoijen7082
      @luukvanoijen7082 3 года назад

      Bit late, but there's papers out there on modifying voxel octrees in realtime without having to decompress and recompresse the whole thing

  • @Sankyre
    @Sankyre 8 лет назад

    is there any way i can get the source code to this or at least some references to work off of, I have attempted my own SVO but it runs at a measly 7fps at 1920x1080 with a tree resolution of 65536x65536x65536

  • @maksuree
    @maksuree 11 лет назад

    release a demo? please?

  • @bobbyvader
    @bobbyvader 12 лет назад

    There is something similar near 2 years old stuff. Maybe it is intersting for you as a developer:
    Search in youtube for "Atomontage Engine - The Future Is Volumetric"

  • @pachesantiago
    @pachesantiago 11 лет назад

    Triangles are still the best way to represent hard surfaces, taking into account quality/memory/rastertime ratio-

  • @smarttarded
    @smarttarded 8 месяцев назад

    So many modern youtubers making voxel octrees and saying that its a brand new concept and they're on the first to do it, meanwhile this guy did it 10 years ago

  • @markmckinney1576
    @markmckinney1576 10 лет назад

    What kind of card do you have? GTX 480 is 3 generations behind the current generation VCs. If yours is that old, perhaps an upgrade is in order?

  • @circuit10
    @circuit10 6 лет назад

    Download?

  • @Kashmir731
    @Kashmir731 10 лет назад

    What engine is this?

  • @johnsherfey3675
    @johnsherfey3675 8 лет назад

    Can I path Trace it?

  • @contactron
    @contactron 11 лет назад

    How do you handle non-axis normals?

  • @adrixshadow
    @adrixshadow 12 лет назад

    Why bother? this technology would be best with procedural generated data rather then storing it.

  • @colsofter
    @colsofter 12 лет назад

    Would you be releasing the code for this demo, so I could learn from it?

  • @Gamerporter
    @Gamerporter 12 лет назад

    1 gigabyte

  • @TheMagicToyChest
    @TheMagicToyChest 11 лет назад

    It looks like bacon

  •  11 лет назад

    Euclideon hasn't shown anything relevant, Atomontage is doing everything better.

  • @aaronshed
    @aaronshed 6 лет назад

    This technology isn't/wasn't new.

  • @ochgottnochma
    @ochgottnochma 11 лет назад +2

    To be honest it smells like snake oil, so just make some REAL reference, e.g. write an Unlimited Detail Renderer for Minecraft...

  • @Akrucious
    @Akrucious 8 месяцев назад

    Cool demo, but hearing you slurp drool is disgusting.

  • @logitech4873
    @logitech4873 11 лет назад

    Well Euclideons technology is far more impressive :p

  • @JohnDoe-ml8ru
    @JohnDoe-ml8ru 6 лет назад

    I see cube's not voxels. A voxel is a 3D pixel. A voxel is similar to a sprite.

    • @circuit10
      @circuit10 6 лет назад +2

      Pixels are squares, voxels are cubes

    • @darkengine5931
      @darkengine5931 Год назад +1

      I think maybe you're conflating the data with rendering methods. A pixel can even be rendered as a circle, triangle, diamond... it's typically rasterized as a square but it doesn't have to be, and if you ever played an emulator of Super Mario, some of them offer rendering options to render the pixels in that game as something other than a square. Same with voxels. They might be rendered as billboard squares, or circles, or 3D cubes, or spheres, or tetrahedrons, or anything else. Also with the 3rd dimension, they can be anisotropic or isotropic.

  • @psihokiller4
    @psihokiller4 11 лет назад

    you guys are NUTS
    I've got cheaper voxel engine go out side ;)
    if I want a game I want game play not graphics
    dang where is world going to, ...