Sorry I tried uploading this before but it didnt work.
If people could test and tell me their video card specs and framerate that would be cool.
REQUIREMENTS: Direct3d 11 capable video card.
Sorry I tried uploading this before but it didnt work.
If people could test and tell me their video card specs and framerate that would be cool.
REQUIREMENTS: Direct3d 11 capable video card.
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...
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.
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.
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 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).
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...).
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.
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.