Sign in to follow this  
rouncer

distance field landscape demo (with attachment)

Recommended Posts

rouncer    294

thanks for testing it out... it definitely needs an uber card, im getting 30fps - 15fps on my twin gpu gtx690.

 

Makes me think maybe its a mistake making the game this way, since noones computers would be able to use it...

Share this post


Link to post
Share on other sites
Bacterius    13165

Radeon HD 6950 - slightly overclocked - getting about 5-6 fps worst case. Goes up to 15-20 on some view angles (when there isn't much to raymarch). That's at 1920x1080 resolution. In 720p it's kind of playable.

 

I think raymarching has its uses but it's still too much work for real time rendering of large open worlds. There are some things that I think it could be good for (rendering clouds comes to mind).

 

If you are interested in procedural world generation I assume you've come across procworld, perhaps you could use something similar? It's voxel-based but there are some definite advantages of ray tracing over ray marching distance fields (determinism, spatial and temporal coherency, notably) though I'm sure both are useful.

Share this post


Link to post
Share on other sites
rouncer    294

A guy with a beast of a video card!!

 

You were running at higher res than I did, like almost double.

 

If it were just a single displacement map, maybe it would go faster, but it has to sample like 30 times off a 256x256 noise texture every raymarch, cause im using fractals of noise.

Share this post


Link to post
Share on other sites
Bacterius    13165

A guy with a beast of a video card!!

 

You were running at higher res than I did, like almost double.

 

If it were just a single displacement map, maybe it would go faster, but it has to sample like 30 times off a 256x256 noise texture every raymarch, cause im using fractals of noise.

 

Well, it started in fullscreen and I didn't know the controls so I kind of freaked out and thought my card had crashed tongue.png then I tried the arrow keys. I had already messed around with distance fields a year ago or so, though nothing as advanced as this. What kind of ray marching method are you using, just stepping a constant distance each time? It seems the biggest slowdown is when tracing really far away pixels, I think lowering the distance limit could really boost up the FPS without sacrificing too much view distance, and perhaps some sort of bisection method to efficiently find an intersection point (though it gets kind of ugly if the noise texture is very irregular, as I found out, though it makes distance more or less irrelevant which is pretty cool).

Share this post


Link to post
Share on other sites
Necrolis    1464

I get about 7-10fps on my 660Ti when viewing far away stuff, when viewing only close stuff it bumps up to 35-44fps (at 1920x1080). Might be useful if you included a list of controls in a readme etc (took me a while to figure to dragging with the r-mouse handles the camera movement...).

Edited by Necrolis

Share this post


Link to post
Share on other sites
rouncer    294

I managed to fix alot of the distance problem by stepping the the ray position distance from the camera, that gets the really far areas without much problem, its just those horrible bits where the rays just hover over the peaks where eventually it wont even draw a pixel there.    the amount of steps and amount of final binary honing is hardcoded into the exe unfortunately so you guys wont be able to play with that... except for resolution.    if you want, theres a function in the shader called gete, (which is called by get_distance)   you could try taking out a few of the noise octaves and see if it runs a little smoother, as the shader compiles at runtime.

 

all the raycasting happens in ps_land,  anyway.   only prob is i coded it a little dodgy and gete has a sister function getge which should also be modified.

 

Necrolis, yeh sorry I forgot to mention its cursor keys and right click is mouse look. smile.png

660Ti sounds like a beast of a card.

 

If you guys wanted to keep the demo to try out on a future video card, theres no better pixel shader benchmark than distance field raytracing, IMO.

 

My twin gtx690 is about three times the speed of my gtx480 at it... its a good test.

Edited by rouncer

Share this post


Link to post
Share on other sites
rouncer    294

just went the whole hog and added one limited bounce of gi smile.png  goes about 6 fps at 1360x768!

3wxi.png

Edited by rouncer

Share this post


Link to post
Share on other sites
kauna    2922

4-30fps @ 2560x1440 on 6-core 3930 with GTX680

8+ fps when SLI enabled

 

Cheers!

Edited by kauna

Share this post


Link to post
Share on other sites
rouncer    294

Cheers kuana.

 

heres the gi version if you really want to make your video card churn. smile.png  its not set too expensively, like it could be a lot worse.

Edited by rouncer

Share this post


Link to post
Share on other sites
Bacterius    13165

just went the whole hog and added one limited bounce of gi smile.png  goes about 6 fps at 1360x768!

3wxi.png

 

That is amazing actually (if a bit noisy - floating-point inaccuracies? once it's optimized I think a layer of anti-aliasing would make it look gorgeous). I'll give it a shot next time I boot into windows.

 

EDIT: just tried it - 2-3 fps :p but it looks nice

Edited by Bacterius

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this