Not quite a real update, but

Just a peek at some recent stuff in VQ, I will provide more info and the traditional update video soon once things are in place.

http://www.voxelquest.com/news/preliminary-peek-at-the-unoptimized-performance-in-the-new-rendering-methods

Comments

  • Sad to see the performance isn't currently that great, but it's still quite early in development. Either way, the visuals are great so far.
  • edited June 2015
    Japa said:

    Sad to see the performance isn't currently that great, but it's still quite early in development. Either way, the visuals are great so far.

    Depends how you quantify the performance, really. :) The resolution is low, but other than that the performance is excellent IMO, for the reasons I state below (most of which was covered in the post IIRC):

    These numbers are somewhat irrelevant to the isometric mode, which only needs to render once every couple of seconds (versus 60+ times per second). So at minimum, isometric mode should function pretty well on anything, even at 1080p or higher.

    We must consider this has the ability to render 1,000,000+ objects, each with potentially 100,000+ polygons worth of detail (if they did use polygons). In a polygon scene, the more objects you add, the slower it runs. Occasionally, the opposite happens with this engine (runs faster in crowded scenes where objects get occluded).

    Again, these shots are simplistic but I have shown elsewhere a few other textures that can easily be applied to these objects, as well as some of their variations.

    And to top that off, these are SOLID objects, not just paper-thin polygon surfaces. So considering all of this, the performance is actually quite excellent. Effectively, I can generate scenes that a polygon engine would choke on, with billions of polygons worth of detail in a given scene (as I have noted, the only constraint on detail is how complex it is to produce algorithmically). To produce something like this in a traditonal voxel engine would require trillions of voxels or more.

    I can update these objects in realtime, as shown in my previous tweets. There is a whole load of stuff that I can do with this that I could never do with polygons, and if resolution is the only thing I have to sacrifice that is actually fine by me, although I can understand if others might find that a little disappointing.

    So, yes - the performance currently is not great at higher resolutions, but as stated I am shooting for a look closer to Ultima Underworld, Daggerfall, Heretic, etc. It is still possible I could get it functioning decently at 1080p in perspective, but I am not counting on that in the short run.

    To top it off, you could probably get even more performance by changing the view distance and other detail levels. These tests were done with 100 ray steps, but it actually looks quite good at 30. Depending on what minor visual errors you are willing to cope with, you can speed up performance 5-10 times further than this.

    Edit: I just tested at lower detail settings and bumped it up to 400 FPS - so I think it probably would just take some fiddling to improve it.

    Edit 2: Consider that at 1080p, Crysis only gets 95 FPS on the same card - and it is aggressively optimized. And it is better designed to render at high resolutions (it is moreso polygon dependent, whereas my engine is resolution dependent). Now, obviously I am not nearly finished and there is more to improve, but I expect similar rates in the future. I will probably not achieve the looks of Crysis, but if I wanted to do that I would have just used the Unreal Engine. :) The point is that I can do many things that can't be done with a polygon engine, so looking for a similar performance profile to a polygon engine is probably a fruitless goal. :)
  • Any chance of a 1080p screenshot of the lower detail? :grin:
  • Japa said:

    Any chance of a 1080p screenshot of the lower detail? :grin:

    Yep, I can do a high and low detail one so you can compare, one second
  • High detail, followed by lower detail (low detail runs at about 30 fps). With these shapes actually pretty hard to tell the difference. You can see shadows are a bit smoother in one. Probably would be more apparent with a texture, let me try that

    image
    image
  • High and low again with textures, easier to see some of the bugs at low detail. However, this is an extreme case with 100 vs 10 steps. At 30 steps or so it looks fine.

    image
    image
  • I may be an ignorant completely out of the scene and an untrained eye, but I don't see any low detail bugs, it looks awesome either way. Only difference is one more dark blotch in the center.
    I have to say, I've loved the latest updates. Technical ones are fine too, 'cause we get to see the guts of what makes the engine and puts the voxels on the screen, but we're finally starting to see more concrete and meaty features, like the "sprites" bombing round holes in the (solid, volumetric) ground, or liquid physics with water that flows pretty nicely and, above all, fills empty spaces keeping its volume. And these are things that I like to see. Call me shallow :wink: but I prefer when we can see the algorithms find their practical purpose and we can see them in action.
    Keep up the great work, Gavan!
  • Perhaps it's a dumb question, I can't remember if we already talked about this: what about raytracing? Things like shadows, light through fog or the like, will be computed in some way or just "faked" with some clever tricks of the trade?
  • If I'm understanding what you're asking, Gavan does use raytracing for shadows (and for rendering in general). In a previous post in this thread, he mentions decreasing the number of raytracing passes to increase performance. Changing the number of ray passes creates the level of detail differences between the high- and low-detail screenshots.
  • @AttakShark - I agree about seeing stuff in action. I'm really excited to almost be done with the technical side of things as there are many areas of gameplay that I want to explore. The above shots are not the greatest for comparison, but there are other ways to visualize the differences in detail that will be more apparent (perhaps I will demo detail settings in the next video). Shadows are ray-based. I have done them in both screen space and in world space - I may actually switch it back to world space as it will reduce the number of passes and it is easier to localize the lights (can have thousands of lights since they are automatically hashed just as objects are). The only drawback is that I can only have so many overlapping lights, but I imagine that probably no more than 8 lights will overlap in any given area (in world space).
  • Yeah, I can foresee there won't be much of a lightshow in game, even if wizards were spamming fireballs and the like there wouldn't be many light sources in the same zone. One would have to do that on purpose... and even then, who would notice? That many lights would make a chaos of pale shadows.

    (..aaaand I realize I'm dumb, 'cause I've remembered right now that one of the presentation videos had a lighted cube moved around, casting dynamic shadows in the room. Oh well :P )
Sign In or Register to comment.