Jump to content
  • Advertisement
Sign in to follow this  
nullbear

2.5D Dynamic LOD Voxel Renderer

This topic is 1237 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

So uhh, I suck at programming, art, etc. And yet im still overly ambitious, whatever. Heres what i want to be working on:

The art style of the game is "2d" pixel art, with Dungeon%20Master_5.png styled graphics.

At least, thats how its supposed to "look" and "feel" to the player. I don't really know how to explain this.

The world is 3d, the render engine is effectively 3d as well. The world may as well be made up of voxels at different levels of detail, similar to the way Zbrush does its thing. From very far away, a tree would look like a few green and brown pixels, but from closer, you would be able to see each knot in the bark, every detail in a leaf, etc. Potentially up to an infinite level of detail, but not necessarily.

 

How do i do this? 
 

As well, how beastly would a machine need to be that is dedicated to this render engine?

Lets assume that all the details of the render engine are handled by an external USB device or something fancy like that, since it would be rather impractical to presume that a pc would be able to process this on its own.

 

Any feedback/questions are welcome. Im sorry i cant really explain this very well...

Share this post


Link to post
Share on other sites
Advertisement

Oh, And to boot, Throw in physics-based lighting.

 

What you see is completely dependent on Light (probably best simulated as a color, position, and "energy" value.), Viewpoint (Mostly just simulated as a position, but might have some fancy stuff added like seeing colors differently, seeing things a bit lighter than others, etc.), and Material properties, which have yet to be determined. But, in essence, It should be possible to create a scene like the one above, using only a light source, a viewpoint, and an array of voxels with material properties that affect the way the light is reflected, refracted, lost, etc. But only in relation to the viewpoint. (This would be tricky, since a lot of this would rely on having light "bounce" off the stone, part of it returning to the viewpoint, part of it lighting other areas, and returning to the viewpoint with less "energy" etc.)

 

Oh yeah, and one more 'impossible' thing to add. Make it an MMO, or at least with a client-server style infrastructure. While it would be possible to just say that all the rendering is handled client-side, How would all those "infinitely detailed" voxels be dealt with? Constant file-streaming, perhaps? Would it be faster to just stream the rendered images to the client, rather than stream the world/area, and wait for the client to render it? I feel like the latter option would be less intensive on the client, making it possible for the "machine" to be cheaper for a consumer, at the cost of a much more expensive server.

Edited by nullie

Share this post


Link to post
Share on other sites


How do i do this? 

 

Years of programming expertise in computer graphics and in engineering tradeoffs. Despite the image you posted, your description kind of sounds like Minecraft, so perhaps you should research the techniques used to make that.

 


As well, how beastly would a machine need to be that is dedicated to this render engine?

 

That depends on the tradeoffs you make. Modelling worlds and rendering them nicely is all about trickery and "faking it" to get something that looks good enough and runs fast enough.

 


Lets assume that all the details of the render engine are handled by an external USB device or something fancy like that, since it would be rather impractical to presume that a pc would be able to process this on its own.

 

External USB device? Huh?

Share this post


Link to post
Share on other sites

Well on the consumer side, it would seem cheaper to just purchase a machine that communicates with your computer, Than to purchase a highly specialized "console" designed to run "games" and simulations using this engine.

 

But then again, I'm also considering beefing it up even more, without taking the consumer into consideration. And making it into a sort of next-gen arcade machine, where you pay to use it for a while, rather than owning your own.

 

And yes, I suppose its similar to minecraft, On steroids, or something. Since its intended to have maybe 10k Voxels for every 1m. (Or as few as 1 Voxel for 1km) and with a severely beefed up lighting system.

Edited by nullie

Share this post


Link to post
Share on other sites

Minecraft has no LevelOfDetail.

Dunno what this 2.5D means. 2.5D is only andvantagous for texture mapping on old hardware.

 

PC hardware today is fully capable to overburden a lot of brains in real time.

My problem with LOD is that always BDRF comes to my mind. And then I want global illumination ... 
See how much RAM you have, assume an octree and then assuming your low res on screen the player has to move very close to anything to see your voxels..

Share this post


Link to post
Share on other sites


My problem with LOD is that always BDRF comes to my mind. And then I want global illumination ... 
See how much RAM you have, assume an octree and then assuming your low res on screen the player has to move very close to anything to see your voxels..

 

I don't understand this. What is BDRF? 

I expect that to fully realise this idea, it'll be required to have a "super-computer" built designed to specialize in running the engine (renderer, and other)

 


Modelling worlds and rendering them nicely is all about trickery and "faking it"

 

A lot of the world-modelling is hoped to be highly dependent on proc. gen., dealing with each independent brick, tree, leaf, etc.

 

Share this post


Link to post
Share on other sites

I've seen the euclidean thing, And as far as i can tell, It doesnt really support dynamic lighting.

I dont neccessarily need the engine to run in real-time, but closer to something like a beefed up blender "cycles"

As well, a huge part of this is expected to be working on the hardware side, as well as the soft side.

Share this post


Link to post
Share on other sites

I should be firm in using this abbreviation as cycles uses it.
I meant bidirectional reflectivity distribution or so.
A smooth surface is well investigated, and can be modeled by simple equations.

In the low res CPU render  ages  I liked voxels. Today? 4k displays, special hardware. Bruteforce polygon soup just looks too good today!

Share this post


Link to post
Share on other sites


Lets assume that all the details of the render engine are handled by an external USB device or something fancy like that, since it would be rather impractical to presume that a pc would be able to process this on its own.

 

If you think that this sentence makes any sense, you do not have the sufficient knowledge or understanding to even start doing what you describe. How do you think a render engine can be handled on an external USB device?

 

Start with something simpler and work your way up.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!