Jump to content

  • Log In with Google      Sign In   
  • Create Account


distance field landscape demo (with attachment)


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
13 replies to this topic

#1 rouncer   Members   -  Reputation: 355

Like
2Likes
Like

Posted 17 June 2013 - 11:43 PM

969589_10200738903889980_419603491_n.jpg

 

http://www.youtube.com/watch?v=WT2kN-Z-Yb8

 

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.

Attached Files

  • Attached File  dw.rar   440.17KB   85 downloads

Edited by rouncer, 17 June 2013 - 11:50 PM.


Sponsor:

#2 belfegor   Crossbones+   -  Reputation: 2326

Like
1Likes
Like

Posted 18 June 2013 - 12:41 AM

It has horrible perf for me, gainward nvidia gtx560ti (reference) = 3fps.



#3 rouncer   Members   -  Reputation: 355

Like
0Likes
Like

Posted 18 June 2013 - 01:16 AM

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...



#4 apatriarca   Crossbones+   -  Reputation: 1593

Like
1Likes
Like

Posted 18 June 2013 - 01:23 AM

It is 1-4 fps for me.. I tested it using a Quadro K1000M (it is a laptop GPU..).



#5 Bacterius   Crossbones+   -  Reputation: 7969

Like
2Likes
Like

Posted 18 June 2013 - 02:22 AM

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.


The slowsort algorithm is a perfect illustration of the multiply and surrender paradigm, which is perhaps the single most important paradigm in the development of reluctant algorithms. The basic multiply and surrender strategy consists in replacing the problem at hand by two or more subproblems, each slightly simpler than the original, and continue multiplying subproblems and subsubproblems recursively in this fashion as long as possible. At some point the subproblems will all become so simple that their solution can no longer be postponed, and we will have to surrender. Experience shows that, in most cases, by the time this point is reached the total work will be substantially higher than what could have been wasted by a more direct approach.

 

- Pessimal Algorithms and Simplexity Analysis


#6 rouncer   Members   -  Reputation: 355

Like
0Likes
Like

Posted 18 June 2013 - 04:44 AM

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.



#7 Bacterius   Crossbones+   -  Reputation: 7969

Like
0Likes
Like

Posted 18 June 2013 - 05:02 AM

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).


The slowsort algorithm is a perfect illustration of the multiply and surrender paradigm, which is perhaps the single most important paradigm in the development of reluctant algorithms. The basic multiply and surrender strategy consists in replacing the problem at hand by two or more subproblems, each slightly simpler than the original, and continue multiplying subproblems and subsubproblems recursively in this fashion as long as possible. At some point the subproblems will all become so simple that their solution can no longer be postponed, and we will have to surrender. Experience shows that, in most cases, by the time this point is reached the total work will be substantially higher than what could have been wasted by a more direct approach.

 

- Pessimal Algorithms and Simplexity Analysis


#8 Necrolis   Members   -  Reputation: 1229

Like
2Likes
Like

Posted 18 June 2013 - 06:01 AM

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, 18 June 2013 - 06:03 AM.


#9 rouncer   Members   -  Reputation: 355

Like
0Likes
Like

Posted 18 June 2013 - 06:06 AM

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, 18 June 2013 - 06:18 AM.


#10 rouncer   Members   -  Reputation: 355

Like
2Likes
Like

Posted 18 June 2013 - 07:58 AM

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, 18 June 2013 - 08:04 AM.


#11 kauna   Crossbones+   -  Reputation: 2142

Like
2Likes
Like

Posted 18 June 2013 - 08:48 AM

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

8+ fps when SLI enabled

 

Cheers!


Edited by kauna, 18 June 2013 - 08:54 AM.


#12 rouncer   Members   -  Reputation: 355

Like
1Likes
Like

Posted 18 June 2013 - 09:04 AM

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.

Attached Files

  • Attached File  dw.rar   210.54KB   34 downloads

Edited by rouncer, 18 June 2013 - 09:14 AM.


#13 Bacterius   Crossbones+   -  Reputation: 7969

Like
0Likes
Like

Posted 18 June 2013 - 05:30 PM

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, 18 June 2013 - 11:17 PM.

The slowsort algorithm is a perfect illustration of the multiply and surrender paradigm, which is perhaps the single most important paradigm in the development of reluctant algorithms. The basic multiply and surrender strategy consists in replacing the problem at hand by two or more subproblems, each slightly simpler than the original, and continue multiplying subproblems and subsubproblems recursively in this fashion as long as possible. At some point the subproblems will all become so simple that their solution can no longer be postponed, and we will have to surrender. Experience shows that, in most cases, by the time this point is reached the total work will be substantially higher than what could have been wasted by a more direct approach.

 

- Pessimal Algorithms and Simplexity Analysis


#14 rouncer   Members   -  Reputation: 355

Like
2Likes
Like

Posted 19 June 2013 - 05:37 AM

I managed to improve the look and improve framerate by more than double.

1000287_10200750043728469_1527885922_n.j






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS