Jump to content
  • Carmack On Id Tech6, Ray Tracing, Voxels And More


    kristus

    PC Perspective posted an interesting and extensive interview with John Carmack detailing his opinions on what will matter for future 3d engines, as well as a bit of information on what he hopes to achieve in the future.

    We're working on our RAGE project and the id Tech 5 code base but I've been talking to all the relevant people about what we think might be going on and what our goals are for an id Tech 6 generation. Which may very well involve, I’m certainly hoping it involves, ray tracing in the "sparse voxel octree" because at least I think I can show a real win.

    There's even a screenshot of Doom in there to boot.


    User Feedback

    Recommended Comments

    Octree like what Sauerbraten uses?

    Sounds very interesting. Ray tracting tech for games is still in its infancy, so I'm wondering where Carmack is planning to take it.

    Link to comment

    I think by "voxel" Carmack is actually implying that the data structure itself can be used to subdivide space into cubic volumes, like an Octree. Which in a lot of ways is just a 3D version of DOOM's blockmap ;)

    EDIT: With the "sparse" bit suggesting that not all octants need to be present.

    Link to comment

    Carmack generally makes a pretty fine use of language, actually.

    I guess that if Quake's engine is id tech 1, Doom is then id Tech 0.

    Link to comment

    The Wikipedia links to an article that apparently got that from Todd Hollenshead. And yeah, it should be proper if Quake 2 is a mod engine of Quake, while Quake 3 has more definite core engine changes.

    If so, then Wolf3d is the "id Tech 0", heh.

    Link to comment
    DaniJ said:

    I think by "voxel" Carmack is actually implying that the data structure itself can be used to subdivide space into cubic volumes, like an Octree. Which in a lot of ways is just a 3D version of DOOM's blockmap ;)

    I think it's more than that, instead of having polygons separate from textures, they are combined in this new structure.

    Imagine a normal quake level. Each textured pixel on a wall would need one or two voxels, and the rest of the space is going to be a constant "content" value (EMPTY or SOLID or a liquid).

    But I can't see how his concept is any different from the standard octree voxel system, it's all so vague at this stage.

    Link to comment

    Yes. This would make sense when you consider the information we've had in the past about the megatexture stuff. Given that you do all your texturing within a fragment shader; and that now it is possible to build new vertices from within a shader on the GPU; he very well could be storing the map in a parametric form and thus is able to resolve infinite detail. The problem is how to get the data visible within the shader(s) so they can cast the ray. Is it too much to pack into a 3dtexture?

    It is not inconceivable that it could not be combined with a method of texture paging similar to that seen in terrain engines. However rather than paging textures it is instead paging a block of encoded, parametric map.

    Link to comment
    DaniJ said:

    he very well could be storing the map in a parametric form and thus is able to resolve infinite detail. The problem is how to get the data visible within the shader(s) so they can cast the ray.

    That's an interesting idea. Somehow I got the impression he was talking about quite a simple structure, simple enough to perform ray casting tests very very fast in hardware.

    An idea I had today (perhaps utterly bogus) was that each voxel, traditionally considered a cube shape, would have a normal vector associated with it which defines the plane it is on. So the world might be represented as a "blocky" voxelscape, but the renderer could use the normal to create smooth planes and curves out of that (so you'd never see the blockiness, even way up close).

    Perhaps Carmack is being deliberately vague, as he want to build id tech 6 out of his idea and doesn't want the competition to beat him to it. At any rate, my interest is piqued and that doesn't happen very often.

    Link to comment

    More like: a voxel renderer that, at close range, created small polygons by analysing how each voxel connected with its neighbours. [At far range, each voxel is less than a pixel in size, hence nothing special is needed]. Hmmm I might play around with this idea tomorrow and see if it can actually work. It doesn't seem very compatible with existing 3D acceleration though.

    Link to comment

    Oh I see. What you are describing to me sounds a lot like the way elevation meshes are built from landscape imaging data.

    Link to comment

    Grimm said:
    . . . where the hell's that Doom 1 screenshot from?

    That has to be E2M2.

    Link to comment

    The way I got it was that the SVO was some sort of occlusion system. I didn't have time to study it yet, though.

    Link to comment
    kristus said:

    According to Wikipedia, Id tech 1 is Doom.
    http://en.wikipedia.org/wiki/Id_Tech_1


    That is totally a retcon, though.

    I've never peeked under the bonnet of quake or quake2, but I remember during the development of Q2 reading that they started off intending to work from the quake source base and more or less totally rewrote the code.

    Link to comment

    but I remember during the development of Q2 reading that they started off intending to work from the quake source base and more or less totally rewrote the code.


    Didnt they do the same to the Q3 engine to make Doom 3?

    Link to comment

    This proves once and for all that Microsoft is the ultimate innovator for all things computer related, completely pwning Carmack and other so-called "Geniuses" doing research into 3D rendering concepts with their stunningly advanced, fast and robust ray tracing technology that will surely take the world by storm. It's no wonder everybody loves Microsoft.

    Link to comment


    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Add a comment...

    ×   Pasted as rich text.   Restore formatting

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...