Logo by Madman - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Did you know ? you can use LaTex inside Postings on fractalforums.com!
 
*
Welcome, Guest. Please login or register. April 26, 2024, 12:05:06 AM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1]   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: fp64 shader  (Read 6365 times)
Description: Experimenting w/ double precision in glsl
0 Members and 1 Guest are viewing this topic.
marius
Fractal Lover
**
Posts: 206


« on: January 31, 2012, 08:49:01 PM »

Been tinkering w/ fp64, aka double precision and a mandelbox shader.
Finally tuned most of the splining code and other periphery in boxplorer2 to take a bit more care of numerical precision so I could render a test sequence.

<a href="http://www.youtube.com/v/OrzqzLGOE4Q&rel=1&fs=1&hd=1" target="_blank">http://www.youtube.com/v/OrzqzLGOE4Q&rel=1&fs=1&hd=1</a>

Pretty slow as gpu rendering goes (~2 fps at 720p) but the additional zoom head room is very addictive, compared to the floats. Might have to upgrade the video card  grin

Code at http://code.google.com/p/boxplorer2. Pretty much the compile it yourself type of deal.

If you just want to check whether what your setup can do, build and run from console: ./boxplorer cfgs/mbox-fp64.cfg. Hit <tab> to render the first frame of the above sequence, pretty much max zoomed in right before artifacts dominate.

Just the shader code: http://code.google.com/p/boxplorer2/source/browse/trunk/cfgs/mbox-fp64.cfg.data/fragment.glsl
Logged
knighty
Fractal Iambus
***
Posts: 819


« Reply #1 on: January 31, 2012, 09:20:00 PM »

Wooha!
 Repeating Zooming Self-Silimilar Thumb Up, by Craig
Also funny... Those pac men. grin
Logged
eiffie
Guest
« Reply #2 on: January 31, 2012, 11:29:34 PM »

More space to play in! I too will probably have to wait for a GPU upgrade to really enjoy it though. Nice vid!
Logged
cbuchner1
Fractal Phenom
******
Posts: 443


« Reply #3 on: February 01, 2012, 12:13:08 AM »

Do nVidia cards support this extension?

Has anyone experimented with double single precision arithmetics in GLSL yet? How would this rate against true double precision support?
Logged
marius
Fractal Lover
**
Posts: 206


« Reply #4 on: February 01, 2012, 12:28:43 AM »

Do nVidia cards support this extension?

Probably, it is standard #version 400+ stuff afaict. I don't have a new enough Nvidia around. Even if your hw might support it, the drivers are a big factor. Macs are notorious for having near obsolete drivers until the next OS rev comes up, w/o any recourse for the user.. clearly gaming etc is not a priority for Apple by any stretch.

Quote
Has anyone experimented with double single precision arithmetics in GLSL yet? How would this rate against true double precision support?

I haven't. Might be mildly painful to rewrite all expressions and intrinsics as calls to your own functions?
Lack of pow, log and trigs is already annoying enough w/ fp64.
I did the mandelbox since it is fairly clean from that perspective, yet interesting enough.
Logged
Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« Reply #5 on: February 01, 2012, 04:02:35 PM »

Do nVidia cards support this extension?

Probably, it is standard #version 400+ stuff afaict. I don't have a new enough Nvidia around. Even if your hw might support it, the drivers are a big factor. Macs are notorious for having near obsolete drivers until the next OS rev comes up, w/o any recourse for the user.. clearly gaming etc is not a priority for Apple by any stretch.


I've tried doubles on a Geforce 570 on Windows 7, where it worked - although it was slow.
If you don't want to use a high #version, you can enable it as an extension using:
"#extension GL_ARB_gpu_shader_fp64 : enable"
The GLSL compiler should complain if there is no support.

Quote
Quote
Has anyone experimented with double single precision arithmetics in GLSL yet? How would this rate against true double precision support?

I haven't. Might be mildly painful to rewrite all expressions and intrinsics as calls to your own functions?
Lack of pow, log and trigs is already annoying enough w/ fp64.
I did the mandelbox since it is fairly clean from that perspective, yet interesting enough.

There is a really good post about emulated doubles (for Mandelbrots) in GLSL here: http://www.thasler.org/blog/?p=93
Logged
cbuchner1
Fractal Phenom
******
Posts: 443


« Reply #6 on: February 01, 2012, 04:49:56 PM »


Excellent tutorial on that thasler.org site!

Notable quote: "They show that the emulation is round about 4 times slower than single precision mode."

Native double precision is at least 8 to 12 times slower than single precision on nVidia consumer cards because the DP units were artificially restricted (only Tesla cards have the full capability). So double single precision is a good alternative for some jobs.

Logged
marius
Fractal Lover
**
Posts: 206


« Reply #7 on: February 01, 2012, 10:24:05 PM »

Excellent tutorial on that thasler.org site!

syntopia's blog is full of awesome. Including links  grin

Quote

Notable quote: "They show that the emulation is round about 4 times slower than single precision mode."

Native double precision is at least 8 to 12 times slower than single precision on nVidia consumer cards because the DP units were artificially restricted (only Tesla cards have the full capability). So double single precision is a good alternative for some jobs.


Yeah, pretty sad. Sounds suspiciously similar to the business decision to not support quadbuffer opengl on consumer cards.
Afaik, amd only started exposing the double precision support for the 5850 since last July or so but it appears to work decently now.

I might crossfire my older 5850 or check out a 7970 for almost a tflop and crossfire that down the line.
Sounds like nvidia does not want my money?
Logged
Saquedon
Conqueror
*******
Posts: 108



saquedon Saquedon saquedon
WWW
« Reply #8 on: February 11, 2012, 06:49:23 PM »

Hardware crippling to produce product lines has become the industry standard.

There's nothing we can do but try to work around and hack the obvious usage back into computer products.

The social internet collaboration revolution is only just beginning!
Logged

Pages: [1]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
DirectX 11 compute shader / Directx 10 Pixel shader implementation Mandelbulb Implementation cbuchner1 2 16944 Last post November 29, 2009, 12:32:26 AM
by cbuchner1
3D fractals using shader 2 3D Fractal Generation David Makin 4 8647 Last post October 14, 2010, 06:10:59 PM
by David Makin
Mixing Fractal IFS types shader Programming tryptophan 8 8867 Last post April 15, 2013, 09:38:50 PM
by tryptophan
realtime rendering with gl shader Movies Showcase (Rate My Movie) sleeplessmonk 2 2042 Last post October 12, 2014, 09:04:47 PM
by SeryZone
fractalforums shader project Let's collaborate on something! cKleinhuis 8 5475 Last post June 02, 2015, 09:37:51 PM
by cKleinhuis

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.345 seconds with 24 queries. (Pretty URLs adds 0.008s, 2q)