www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - GPUFractal-1

reply Burton Radons <burton-radons shaw.ca> writes:
Hey guys, I've been fooling around with GLSL recently and realised I could do a
Mandelbrot fractal at full frame rate, so I implemented a kind of mini-Ultra
Fractal.

It works in single pass, so, uh, save your work before you try it because it
just might cause your card to freeze if its GLSL support sucks or it isn't VERY
good at branching shaders. If it works on your machine, I'd like to hear of it;
if it doesn't, I'd also like to hear of it. For reference, my setup is an
NVIDIA 8800 GTX (beta drivers) on Windows Vista with an Intel Dual Core 2.66GHz
processor. I can confirm that it doesn't work on an ATI Radeon 9800 on Windows
XP.

The interface is exclusively mouse based. Left mouse button to zoom in, right
mouse button to zoom out, middle mouse button to scroll. Using the mouse wheel
puts you in variable mode. The mouse wheel selects the current variable,
dragging the left mouse button changes it (enumerations and floats are changed
by dragging to the right or left), clicking the middle mouse button resets to
the initial value, and right clicking returns to zoom/scroll mode.

You can modify or add to the formulas while it's running, look in the
subdirectories.

http://members.shaw.ca/burton-radons/GPUFractal-1.7z (binary, 204KB)
http://members.shaw.ca/burton-radons/GPUFractal-1-source.7z (source, 1,360KB)

The source is pretty shit and will require slight modification of the
makefile's paths to compile. I use D v1 and bud.
Oct 17 2007
next sibling parent reply Kyle Furlong <kylefurlong gmail.com> writes:
Burton Radons wrote:
 Hey guys, I've been fooling around with GLSL recently and realised I could do
a Mandelbrot fractal at full frame rate, so I implemented a kind of mini-Ultra
Fractal.
 
 It works in single pass, so, uh, save your work before you try it because it
just might cause your card to freeze if its GLSL support sucks or it isn't VERY
good at branching shaders. If it works on your machine, I'd like to hear of it;
if it doesn't, I'd also like to hear of it. For reference, my setup is an
NVIDIA 8800 GTX (beta drivers) on Windows Vista with an Intel Dual Core 2.66GHz
processor. I can confirm that it doesn't work on an ATI Radeon 9800 on Windows
XP.
 
 The interface is exclusively mouse based. Left mouse button to zoom in, right
mouse button to zoom out, middle mouse button to scroll. Using the mouse wheel
puts you in variable mode. The mouse wheel selects the current variable,
dragging the left mouse button changes it (enumerations and floats are changed
by dragging to the right or left), clicking the middle mouse button resets to
the initial value, and right clicking returns to zoom/scroll mode.
 
 You can modify or add to the formulas while it's running, look in the
subdirectories.
 
 http://members.shaw.ca/burton-radons/GPUFractal-1.7z (binary, 204KB)
 http://members.shaw.ca/burton-radons/GPUFractal-1-source.7z (source, 1,360KB)
 
 The source is pretty shit and will require slight modification of the
makefile's paths to compile. I use D v1 and bud.

Error: New GL version has been discovered. (Dual core Operton, XT1900XTX)
Oct 17 2007
parent reply Burton Radons <burton-radons shaw.ca> writes:
Kyle Furlong Wrote:

 Burton Radons wrote:
 Hey guys, I've been fooling around with GLSL recently and realised I could do
a Mandelbrot fractal at full frame rate, so I implemented a kind of mini-Ultra
Fractal.
 
 It works in single pass, so, uh, save your work before you try it because it
just might cause your card to freeze if its GLSL support sucks or it isn't VERY
good at branching shaders. If it works on your machine, I'd like to hear of it;
if it doesn't, I'd also like to hear of it. For reference, my setup is an
NVIDIA 8800 GTX (beta drivers) on Windows Vista with an Intel Dual Core 2.66GHz
processor. I can confirm that it doesn't work on an ATI Radeon 9800 on Windows
XP.
 
 The interface is exclusively mouse based. Left mouse button to zoom in, right
mouse button to zoom out, middle mouse button to scroll. Using the mouse wheel
puts you in variable mode. The mouse wheel selects the current variable,
dragging the left mouse button changes it (enumerations and floats are changed
by dragging to the right or left), clicking the middle mouse button resets to
the initial value, and right clicking returns to zoom/scroll mode.
 
 You can modify or add to the formulas while it's running, look in the
subdirectories.
 
 http://members.shaw.ca/burton-radons/GPUFractal-1.7z (binary, 204KB)
 http://members.shaw.ca/burton-radons/GPUFractal-1-source.7z (source, 1,360KB)
 
 The source is pretty shit and will require slight modification of the
makefile's paths to compile. I use D v1 and bud.

Error: New GL version has been discovered. (Dual core Operton, XT1900XTX)

Sorry! That was a debug thing I had to gather information. I've updated the archive with a fix. I also plugged in an ATI X850 and did some modifications to get it to compile the shaders. It doesn't work; it doesn't like breaking from a loop. I'll continue to wiggle it around to see if I can find a control flow it likes.
Oct 17 2007
next sibling parent Radu <radu.racariu void.space> writes:
Burton Radons wrote:
 Kyle Furlong Wrote:

   
 Burton Radons wrote:
     
 Hey guys, I've been fooling around with GLSL recently and realised I could do
a Mandelbrot fractal at full frame rate, so I implemented a kind of mini-Ultra
Fractal.

 It works in single pass, so, uh, save your work before you try it because it
just might cause your card to freeze if its GLSL support sucks or it isn't VERY
good at branching shaders. If it works on your machine, I'd like to hear of it;
if it doesn't, I'd also like to hear of it. For reference, my setup is an
NVIDIA 8800 GTX (beta drivers) on Windows Vista with an Intel Dual Core 2.66GHz
processor. I can confirm that it doesn't work on an ATI Radeon 9800 on Windows
XP.

 The interface is exclusively mouse based. Left mouse button to zoom in, right
mouse button to zoom out, middle mouse button to scroll. Using the mouse wheel
puts you in variable mode. The mouse wheel selects the current variable,
dragging the left mouse button changes it (enumerations and floats are changed
by dragging to the right or left), clicking the middle mouse button resets to
the initial value, and right clicking returns to zoom/scroll mode.

 You can modify or add to the formulas while it's running, look in the
subdirectories.

 http://members.shaw.ca/burton-radons/GPUFractal-1.7z (binary, 204KB)
 http://members.shaw.ca/burton-radons/GPUFractal-1-source.7z (source, 1,360KB)

 The source is pretty shit and will require slight modification of the
makefile's paths to compile. I use D v1 and bud.
       

(Dual core Operton, XT1900XTX)

Sorry! That was a debug thing I had to gather information. I've updated the archive with a fix. I also plugged in an ATI X850 and did some modifications to get it to compile the shaders. It doesn't work; it doesn't like breaking from a loop. I'll continue to wiggle it around to see if I can find a control flow it likes.

ERROR: 0:3: '' : Version number not supported by GL2 ERROR: 1 compilation errors. No code generated. [Core 2 Duo, ATI Mobility X1600]
Oct 17 2007
prev sibling parent reply Kyle Furlong <kylefurlong gmail.com> writes:
Burton Radons wrote:
 Kyle Furlong Wrote:
 
 Burton Radons wrote:
 Hey guys, I've been fooling around with GLSL recently and realised I could do
a Mandelbrot fractal at full frame rate, so I implemented a kind of mini-Ultra
Fractal.

 It works in single pass, so, uh, save your work before you try it because it
just might cause your card to freeze if its GLSL support sucks or it isn't VERY
good at branching shaders. If it works on your machine, I'd like to hear of it;
if it doesn't, I'd also like to hear of it. For reference, my setup is an
NVIDIA 8800 GTX (beta drivers) on Windows Vista with an Intel Dual Core 2.66GHz
processor. I can confirm that it doesn't work on an ATI Radeon 9800 on Windows
XP.

 The interface is exclusively mouse based. Left mouse button to zoom in, right
mouse button to zoom out, middle mouse button to scroll. Using the mouse wheel
puts you in variable mode. The mouse wheel selects the current variable,
dragging the left mouse button changes it (enumerations and floats are changed
by dragging to the right or left), clicking the middle mouse button resets to
the initial value, and right clicking returns to zoom/scroll mode.

 You can modify or add to the formulas while it's running, look in the
subdirectories.

 http://members.shaw.ca/burton-radons/GPUFractal-1.7z (binary, 204KB)
 http://members.shaw.ca/burton-radons/GPUFractal-1-source.7z (source, 1,360KB)

 The source is pretty shit and will require slight modification of the
makefile's paths to compile. I use D v1 and bud.

(Dual core Operton, XT1900XTX)

Sorry! That was a debug thing I had to gather information. I've updated the archive with a fix. I also plugged in an ATI X850 and did some modifications to get it to compile the shaders. It doesn't work; it doesn't like breaking from a loop. I'll continue to wiggle it around to see if I can find a control flow it likes.

Error: Could not successfully compile shader source: ERROR: 0:3: '' : Version number not supported by GL2 ERROR: 1 compilation errors. No code generated. I hope this is helping, I'm on XP if it matters.
Oct 17 2007
parent reply Burton Radons <burton-radons shaw.ca> writes:
Kyle Furlong Wrote:

 Error: Could not successfully compile shader source:
          ERROR: 0:3: '' :  Version number not supported by GL2
          ERROR: 1 compilation errors.  No code generated.
 
 I hope this is helping, I'm on XP if it matters.

Thanks for your help! I've updated the archive again. It now works on an ATI X850 (with some limitations, and no branching!), so it should work even better on more modern ATI cards. I moved the shader template into "shader.h", so you can fool around with that if it otherwise seems to work. Unfortunately I can't find what predefines ATI uses so I have to hard code my own. I even got it almost working on at ATI 9800 on Windows XP, but it can't handle the loop at all. At least I confirmed that the GUI code should work there.
Oct 17 2007
parent Burton Radons <burton-radons shaw.ca> writes:
Oh and if it does work, comment out the "#undef BREAK_SUPPORT" line in
"shader.h". I accidentally made the condition too broad, it sounds like it
works fine in modern ATI cards.
Oct 17 2007
prev sibling next sibling parent Nathan Reed <nathaniel.reed gmail.com> writes:
Burton Radons wrote:
 Hey guys, I've been fooling around with GLSL recently and realised I could do
a Mandelbrot fractal at full frame rate, so I implemented a kind of mini-Ultra
Fractal.
 
 It works in single pass, so, uh, save your work before you try it because it
just might cause your card to freeze if its GLSL support sucks or it isn't VERY
good at branching shaders. If it works on your machine, I'd like to hear of it;
if it doesn't, I'd also like to hear of it. For reference, my setup is an
NVIDIA 8800 GTX (beta drivers) on Windows Vista with an Intel Dual Core 2.66GHz
processor. I can confirm that it doesn't work on an ATI Radeon 9800 on Windows
XP.
 
 The interface is exclusively mouse based. Left mouse button to zoom in, right
mouse button to zoom out, middle mouse button to scroll. Using the mouse wheel
puts you in variable mode. The mouse wheel selects the current variable,
dragging the left mouse button changes it (enumerations and floats are changed
by dragging to the right or left), clicking the middle mouse button resets to
the initial value, and right clicking returns to zoom/scroll mode.
 
 You can modify or add to the formulas while it's running, look in the
subdirectories.
 
 http://members.shaw.ca/burton-radons/GPUFractal-1.7z (binary, 204KB)
 http://members.shaw.ca/burton-radons/GPUFractal-1-source.7z (source, 1,360KB)
 
 The source is pretty shit and will require slight modification of the
makefile's paths to compile. I use D v1 and bud.

I wrote a program like this a couple years ago: http://pages.pomona.edu/~nrr02004/opengl.html (written in C++ though, not D). It uses a multi-pass algorithm to avoid needing shader branches and loops. Thanks, Nathan Reed
Oct 17 2007
prev sibling next sibling parent Robert Fraser <fraserofthenight gmail.com> writes:
Burton Radons Wrote:

 Hey guys, I've been fooling around with GLSL recently and realised I could do
a Mandelbrot fractal at full frame rate, so I implemented a kind of mini-Ultra
Fractal.
 
 It works in single pass, so, uh, save your work before you try it because it
just might cause your card to freeze if its GLSL support sucks or it isn't VERY
good at branching shaders. If it works on your machine, I'd like to hear of it;
if it doesn't, I'd also like to hear of it. For reference, my setup is an
NVIDIA 8800 GTX (beta drivers) on Windows Vista with an Intel Dual Core 2.66GHz
processor. I can confirm that it doesn't work on an ATI Radeon 9800 on Windows
XP.
 
 The interface is exclusively mouse based. Left mouse button to zoom in, right
mouse button to zoom out, middle mouse button to scroll. Using the mouse wheel
puts you in variable mode. The mouse wheel selects the current variable,
dragging the left mouse button changes it (enumerations and floats are changed
by dragging to the right or left), clicking the middle mouse button resets to
the initial value, and right clicking returns to zoom/scroll mode.
 
 You can modify or add to the formulas while it's running, look in the
subdirectories.
 
 http://members.shaw.ca/burton-radons/GPUFractal-1.7z (binary, 204KB)
 http://members.shaw.ca/burton-radons/GPUFractal-1-source.7z (source, 1,360KB)
 
 The source is pretty shit and will require slight modification of the
makefile's paths to compile. I use D v1 and bud.

Neat! I can't wait to see the sources! Success with: - Core 2 Duo - Radeon X1800?? - Windows Vista Business
Oct 17 2007
prev sibling next sibling parent Extrawurst <spam extrawurst.org> writes:
Burton Radons schrieb:
 Hey guys, I've been fooling around with GLSL recently and realised I could do
a Mandelbrot fractal at full frame rate, so I implemented a kind of mini-Ultra
Fractal.

 It works in single pass, so, uh, save your work before you try it because it
just might cause your card to freeze if its GLSL support sucks or it isn't VERY
good at branching shaders. If it works on your machine, I'd like to hear of it;
if it doesn't, I'd also like to hear of it. For reference, my setup is an
NVIDIA 8800 GTX (beta drivers) on Windows Vista with an Intel Dual Core 2.66GHz
processor. I can confirm that it doesn't work on an ATI Radeon 9800 on Windows
XP.

 The interface is exclusively mouse based. Left mouse button to zoom in, right
mouse button to zoom out, middle mouse button to scroll. Using the mouse wheel
puts you in variable mode. The mouse wheel selects the current variable,
dragging the left mouse button changes it (enumerations and floats are changed
by dragging to the right or left), clicking the middle mouse button resets to
the initial value, and right clicking returns to zoom/scroll mode.

 You can modify or add to the formulas while it's running, look in the
subdirectories.

 http://members.shaw.ca/burton-radons/GPUFractal-1.7z (binary, 204KB)
 http://members.shaw.ca/burton-radons/GPUFractal-1-source.7z (source, 1,360KB)

 The source is pretty shit and will require slight modification of the
makefile's paths to compile. I use D v1 and bud.
   

Vendor: 'ATI Technologies Inc.' Renderer: 'ATI Mobility Radeon X1600 x86/SSE2' Version: '2.0.5648 WinXP Release' Error: Could not successfully compile shader source: ERROR: 0:41: '*' : wrong operand types no operation '*' exists that ta kes a left-hand operand of type 'const int' and a right operand of type 'float' (or there is no acceptable conversion) ERROR: 0:41: '*' : wrong operand types no operation '*' exists that ta kes a left-hand operand of type 'const int' and a right operand of type 'float' (or there is no acceptable conversion) ERROR: 0:68: 'uniform' : cannot initialize this type of qualifier ERROR: 0:69: 'uniform' : cannot initialize this type of qualifier ERROR: 0:70: 'uniform' : cannot initialize this type of qualifier ERROR: 0:73: 'uniform' : cannot initialize this type of qualifier ERROR: 0:74: 'uniform' : cannot initialize this type of qualifier ERROR: 0:166: '+' : wrong operand types no operation '+' exists that t akes a left-hand operand of type '2-component vector of int' and a right operand of type '2-component vector of float' (or there is no acceptable conversion) ERROR: 0:166: '-' : wrong operand types no operation '-' exists that t akes a left-hand operand of type '2-component vector of int' and a right operand of type '2-component vector of float' (or there is no acceptable conversion) ERROR: 0:166: '*' : wrong operand types no operation '*' exists that t akes a left-hand operand of type 'const float' and a right operand of type 'int' (or there is no acceptable conversion) ERROR: 10 compilation errors. No code generated. ~Extrawurst
Oct 17 2007
prev sibling next sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
Burton Radons wrote:
 http://members.shaw.ca/burton-radons/GPUFractal-1.7z (binary, 204KB) 
 http://members.shaw.ca/burton-radons/GPUFractal-1-source.7z (source,
 1,360KB)

My suggestions: 1) Put up a web page about it! Put the text in your announcement here on the web page. 2) Use standard zip files, not 7z.
Oct 17 2007
next sibling parent reply Kyle Furlong <kylefurlong gmail.com> writes:
Walter Bright wrote:
 Burton Radons wrote:
 http://members.shaw.ca/burton-radons/GPUFractal-1.7z (binary, 204KB) 
 http://members.shaw.ca/burton-radons/GPUFractal-1-source.7z (source,
 1,360KB)

My suggestions: 1) Put up a web page about it! Put the text in your announcement here on the web page. 2) Use standard zip files, not 7z.

winrar handles 7z, so if you can open rar you can open 7z
Oct 17 2007
parent reply Walter Bright <newshound1 digitalmars.com> writes:
Kyle Furlong wrote:
 Walter Bright wrote:
 Burton Radons wrote:
 http://members.shaw.ca/burton-radons/GPUFractal-1.7z (binary, 204KB) 
 http://members.shaw.ca/burton-radons/GPUFractal-1-source.7z (source,
 1,360KB)

My suggestions: 1) Put up a web page about it! Put the text in your announcement here on the web page. 2) Use standard zip files, not 7z.

winrar handles 7z, so if you can open rar you can open 7z

Lots of programs handle 7z. But a lot don't. If someone has to search for, download, and install yet another zipper he isn't going to bother with GPUFractal. There's a nearly infinite amount of downloads one can get from the internet, and it's real easy to pass by anything that offers even minor roadblocks to downloading. A friend of me told me long ago that he was successful because he was "easy to do business with". He tried to make it as painless and easy as possible for people to buy his products and services. Amazon does it with their "one click" thing. Apple does it with itunes. Just something to think about.
Oct 17 2007
parent reply Daniel Keep <daniel.keep.lists gmail.com> writes:
Walter Bright wrote:
 Kyle Furlong wrote:
 Walter Bright wrote:
 Burton Radons wrote:
 http://members.shaw.ca/burton-radons/GPUFractal-1.7z (binary, 204KB)
 http://members.shaw.ca/burton-radons/GPUFractal-1-source.7z (source,
 1,360KB)

My suggestions: 1) Put up a web page about it! Put the text in your announcement here on the web page. 2) Use standard zip files, not 7z.

winrar handles 7z, so if you can open rar you can open 7z

Lots of programs handle 7z. But a lot don't. If someone has to search for, download, and install yet another zipper he isn't going to bother with GPUFractal. There's a nearly infinite amount of downloads one can get from the internet, and it's real easy to pass by anything that offers even minor roadblocks to downloading. A friend of me told me long ago that he was successful because he was "easy to do business with". He tried to make it as painless and easy as possible for people to buy his products and services. Amazon does it with their "one click" thing. Apple does it with itunes. Just something to think about.

A flip side of this is that 7zs can be quite a bit smaller than Zips. Smaller means faster to download, and cheaper to get. Incidentally, I've been working with a non-techie person (senior lecturer for Risk Management) on my honours project, and I used to send him Zip files until I noticed that all the archives he sent me were 7zs :P -- Daniel
Oct 17 2007
parent Bill Baxter <dnewsgroup billbaxter.com> writes:
Daniel Keep wrote:
 
 Walter Bright wrote:
 Kyle Furlong wrote:
 Walter Bright wrote:
 Burton Radons wrote:
 http://members.shaw.ca/burton-radons/GPUFractal-1.7z (binary, 204KB)
 http://members.shaw.ca/burton-radons/GPUFractal-1-source.7z (source,
 1,360KB)

1) Put up a web page about it! Put the text in your announcement here on the web page. 2) Use standard zip files, not 7z.


for, download, and install yet another zipper he isn't going to bother with GPUFractal. There's a nearly infinite amount of downloads one can get from the internet, and it's real easy to pass by anything that offers even minor roadblocks to downloading. A friend of me told me long ago that he was successful because he was "easy to do business with". He tried to make it as painless and easy as possible for people to buy his products and services. Amazon does it with their "one click" thing. Apple does it with itunes. Just something to think about.

A flip side of this is that 7zs can be quite a bit smaller than Zips. Smaller means faster to download, and cheaper to get.\

I tried making a zip out of it. It was a whopping 5K bigger (with compression=best).
 Incidentally, I've been working with a non-techie person (senior
 lecturer for Risk Management) on my honours project, and I used to send
 him Zip files until I noticed that all the archives he sent me were 7zs :P

GPUFractal is a Windows program. Every copy of Windows which is recent enough to run GPUfractal has ZIP support built in. It's not a big deal, but Walter's right. For Windows programs, use zip unless you have a really good reason not too (like very targeted / motivated audience willing to jump through hoops for you, or a huge difference in file size). Anyway cool program! (after I downloaded new drivers ;-). I like the interactive dragging of Julia set seed points! --bb
Oct 17 2007
prev sibling parent Burton Radons <burton-radons shaw.ca> writes:
Walter Bright Wrote:

 Burton Radons wrote:
 http://members.shaw.ca/burton-radons/GPUFractal-1.7z (binary, 204KB) 
 http://members.shaw.ca/burton-radons/GPUFractal-1-source.7z (source,
 1,360KB)

My suggestions: 1) Put up a web page about it! Put the text in your announcement here on the web page.

(variations of this message might post multiple times, web-news was acting weird) This is just a goofy little hack. After a few updates I'll send a link to the creator of Ultra Fractal (this is a kind of homage) and never touch it again. With that in mind, I've updated the archive. This changes shader.h to schema.h which now also tells the program how to build the shader, so it could be used for non-fractal purposes. I only really did it because it made sense, not for any intended purpose. Also, changing the starting point in Mandelbrot now does something. Something... very strange.
 2) Use standard zip files, not 7z.

I don't care about that.
Oct 17 2007
prev sibling next sibling parent "Anders Bergh" <anders1 gmail.com> writes:
On 10/17/07, Burton Radons <burton-radons shaw.ca> wrote:
 Hey guys, I've been fooling around with GLSL recently and realised I could do
a Mandelbrot fractal at full frame rate, so I implemented a kind of mini-Ultra
Fractal.

Works here with my GeForce 7900 GT! Anders
Oct 17 2007
prev sibling next sibling parent reply Chad J <gamerChad _spamIsBad_gmail.com> writes:
Burton Radons wrote:
 Hey guys, I've been fooling around with GLSL recently and realised I could do
a Mandelbrot fractal at full frame rate, so I implemented a kind of mini-Ultra
Fractal.
 
 It works in single pass, so, uh, save your work before you try it because it
just might cause your card to freeze if its GLSL support sucks or it isn't VERY
good at branching shaders. If it works on your machine, I'd like to hear of it;
if it doesn't, I'd also like to hear of it. For reference, my setup is an
NVIDIA 8800 GTX (beta drivers) on Windows Vista with an Intel Dual Core 2.66GHz
processor. I can confirm that it doesn't work on an ATI Radeon 9800 on Windows
XP.
 
 The interface is exclusively mouse based. Left mouse button to zoom in, right
mouse button to zoom out, middle mouse button to scroll. Using the mouse wheel
puts you in variable mode. The mouse wheel selects the current variable,
dragging the left mouse button changes it (enumerations and floats are changed
by dragging to the right or left), clicking the middle mouse button resets to
the initial value, and right clicking returns to zoom/scroll mode.
 
 You can modify or add to the formulas while it's running, look in the
subdirectories.
 
 http://members.shaw.ca/burton-radons/GPUFractal-1.7z (binary, 204KB)
 http://members.shaw.ca/burton-radons/GPUFractal-1-source.7z (source, 1,360KB)
 
 The source is pretty shit and will require slight modification of the
makefile's paths to compile. I use D v1 and bud.

Vendor: 'ATI Technologies Inc.' Renderer: 'ATI MOBILITY RADEON X700 x86/MMX/3DNow!/SSE2' Version: '2.0.6645 WinXP Release' When I run it, the window comes up but doesn't display anything, well nothing besides what was underneath the window before. It seems to be hung. My computer heats up and the fan starts working really hard.
Oct 18 2007
next sibling parent Burton Radons <burton-radons shaw.ca> writes:
Chad J Wrote:

 Burton Radons wrote:
 Hey guys, I've been fooling around with GLSL recently and realised I could do
a Mandelbrot fractal at full frame rate, so I implemented a kind of mini-Ultra
Fractal.
 
 It works in single pass, so, uh, save your work before you try it because it
just might cause your card to freeze if its GLSL support sucks or it isn't VERY
good at branching shaders. If it works on your machine, I'd like to hear of it;
if it doesn't, I'd also like to hear of it. For reference, my setup is an
NVIDIA 8800 GTX (beta drivers) on Windows Vista with an Intel Dual Core 2.66GHz
processor. I can confirm that it doesn't work on an ATI Radeon 9800 on Windows
XP.
 
 The interface is exclusively mouse based. Left mouse button to zoom in, right
mouse button to zoom out, middle mouse button to scroll. Using the mouse wheel
puts you in variable mode. The mouse wheel selects the current variable,
dragging the left mouse button changes it (enumerations and floats are changed
by dragging to the right or left), clicking the middle mouse button resets to
the initial value, and right clicking returns to zoom/scroll mode.
 
 You can modify or add to the formulas while it's running, look in the
subdirectories.
 
 http://members.shaw.ca/burton-radons/GPUFractal-1.7z (binary, 204KB)
 http://members.shaw.ca/burton-radons/GPUFractal-1-source.7z (source, 1,360KB)
 
 The source is pretty shit and will require slight modification of the
makefile's paths to compile. I use D v1 and bud.

Vendor: 'ATI Technologies Inc.' Renderer: 'ATI MOBILITY RADEON X700 x86/MMX/3DNow!/SSE2' Version: '2.0.6645 WinXP Release' When I run it, the window comes up but doesn't display anything, well nothing besides what was underneath the window before. It seems to be hung. My computer heats up and the fan starts working really hard.

Thanks! It looks like the X700 and X850 are identical capabilities-wise, so you might be able to see something if you add "#define ATI_X850" to the top of "schema.h". However, older hardware's not my target so you'll have a paltry 40 maximum iterations if it works at all, good enough to play around with the variables but not good enough to zoom in.
Oct 18 2007
prev sibling parent reply BCS <ao pathlink.com> writes:
Reply to Chad,

 Vendor: 'ATI Technologies Inc.'
 Renderer: 'ATI MOBILITY RADEON X700 x86/MMX/3DNow!/SSE2'
 Version: '2.0.6645 WinXP Release'
 When I run it, the window comes up but doesn't display anything, well
 nothing besides what was underneath the window before.  It seems to be
 hung.  My computer heats up and the fan starts working really hard.
 

same for me but MOBILITY RADEON 9700 x86/SSE2 2.0.5012
Oct 18 2007
parent reply Burton Radons <burton-radons shaw.ca> writes:
BCS Wrote:

 Reply to Chad,
 
 Vendor: 'ATI Technologies Inc.'
 Renderer: 'ATI MOBILITY RADEON X700 x86/MMX/3DNow!/SSE2'
 Version: '2.0.6645 WinXP Release'
 When I run it, the window comes up but doesn't display anything, well
 nothing besides what was underneath the window before.  It seems to be
 hung.  My computer heats up and the fan starts working really hard.
 

same for me but MOBILITY RADEON 9700 x86/SSE2 2.0.5012

Too old! You win the oldest driver version contest too. ;) The ATI functionality seems to be: R520 (X1300-X1950) - Should work! R420 (X700-X850) - Barely works with a hacked limited path. R300 (9500-9800) - Hah! No way. R200, R100, Rage, Mach - Err, no. The GeForce functionality seems to be: GeForce 8 - Yayyay! GeForce 7 - Yay! GeForce 6 - Dunno? GeForce 1-5 - Guessing no. Cg will be an option in the next release, once I figure out what arbitrary restrictions cause it to stop producing images.
Oct 19 2007
parent BCS <BCS pathlink.com> writes:
Burton Radons wrote:
 BCS Wrote:

MOBILITY RADEON 9700 x86/SSE2
2.0.5012 

Too old! You win the oldest driver version contest too. ;) The ATI functionality seems to be:

If you want to see what happened last time I updated those drivers: http://worsethanfailure.com/Articles/Pop-up_Potpourri_0x3a__The_Re lly_Windy_City.aspx (at the bottom)
Oct 19 2007
prev sibling next sibling parent reply Jascha Wetzel <firstname mainia.de> writes:
Burton Radons wrote:
 Hey guys, I've been fooling around with GLSL recently

my experience: use CG... Vendor: 'ATI Technologies Inc.' Renderer: 'ATI Radeon X1250' Version: '2.0.6645 Release' Error: Could not successfully link program: Fragment shader(s) failed to link, vertex shader(s) linked. Vendor: 'NVIDIA Corporation' Renderer: 'GeForce 7600 GS/PCI/SSE2' Version: '2.0.3' Error: Could not successfully link program: Fragment info ------------- (69) : error C5051: profile does not support conditional returns Vendor: 'ATI Technologies Inc.' Renderer: 'RADEON 9550 x86/MMX/3DNow!/SSE2' Version: '2.0.6287 WinXP Release' no errors, but window does not get painted and process eats 100% cpu
Oct 18 2007
parent reply Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
Jascha Wetzel wrote:
 
 
 Vendor: 'NVIDIA Corporation'
 Renderer: 'GeForce 7600 GS/PCI/SSE2'
 Version: '2.0.3'
 Error: Could not successfully link program: Fragment info
 -------------
 (69) : error C5051: profile does not support conditional returns
 
 

I'm having that same error. -- Bruno Medeiros - MSc in CS/E student http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Oct 19 2007
parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Bruno Medeiros wrote:
 Jascha Wetzel wrote:
 Vendor: 'NVIDIA Corporation'
 Renderer: 'GeForce 7600 GS/PCI/SSE2'
 Version: '2.0.3'
 Error: Could not successfully link program: Fragment info
 -------------
 (69) : error C5051: profile does not support conditional returns

I'm having that same error.

I think you just need to install a more recent driver. --bb
Oct 19 2007
parent reply Burton Radons <burton-radons shaw.ca> writes:
Bill Baxter Wrote:

 Bruno Medeiros wrote:
 Jascha Wetzel wrote:
 Vendor: 'NVIDIA Corporation'
 Renderer: 'GeForce 7600 GS/PCI/SSE2'
 Version: '2.0.3'
 Error: Could not successfully link program: Fragment info
 -------------
 (69) : error C5051: profile does not support conditional returns

I'm having that same error.

I think you just need to install a more recent driver.

Yuppers, the current driver version is 2.1.1. I've put a check in that'll very bluntly detect this by assuming that more recent drivers support more recent GLSL versions. This part actually won't change with Cg because if the GLSL part of the driver can't handle branching, then it surely won't support the newer fragment/vertex program profiles which can handle it either.
Oct 19 2007
parent Nathan Reed <nathaniel.reed gmail.com> writes:
Burton Radons wrote:
 Bill Baxter Wrote:
 
 Bruno Medeiros wrote:
 Jascha Wetzel wrote:
 Vendor: 'NVIDIA Corporation'
 Renderer: 'GeForce 7600 GS/PCI/SSE2'
 Version: '2.0.3'
 Error: Could not successfully link program: Fragment info
 -------------
 (69) : error C5051: profile does not support conditional returns



Yuppers, the current driver version is 2.1.1. I've put a check in that'll very bluntly detect this by assuming that more recent drivers support more recent GLSL versions. This part actually won't change with Cg because if the GLSL part of the driver can't handle branching, then it surely won't support the newer fragment/vertex program profiles which can handle it either.

Actually. Historically, I have heard (and experienced) that ATI's driver support for GLSL is very poor. It may not be that the GPU can't handle branching but that ATI's GLSL compiler can't. Cg may actually work much better because it involves a compiler separate from the driver that can translate the code into ARB assembly (with extensions for branching and so forth) and feed it to the card. Thanks, Nathan Reed
Oct 20 2007
prev sibling next sibling parent Mike Parker <aldacron71 yahoo.com> writes:
Burton Radons wrote:
 Hey guys, I've been fooling around with GLSL recently 

Works well here. Vendor: 'NVIDIA Corporation' Renderer: 'GeForce 7600 GT/AGP/SSE/3DNOW!' Version: '2.1.1'
Oct 18 2007
prev sibling next sibling parent "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Burton Radons" <burton-radons shaw.ca> wrote in message 
news:ff5ns5$2qb3$1 digitalmars.com...
 Hey guys, I've been fooling around with GLSL recently and realised I could 
 do a Mandelbrot fractal at full frame rate, so I implemented a kind of 
 mini-Ultra Fractal.

 It works in single pass, so, uh, save your work before you try it because 
 it just might cause your card to freeze if its GLSL support sucks or it 
 isn't VERY good at branching shaders. If it works on your machine, I'd 
 like to hear of it; if it doesn't, I'd also like to hear of it. For 
 reference, my setup is an NVIDIA 8800 GTX (beta drivers) on Windows Vista 
 with an Intel Dual Core 2.66GHz processor. I can confirm that it doesn't 
 work on an ATI Radeon 9800 on Windows XP.

 The interface is exclusively mouse based. Left mouse button to zoom in, 
 right mouse button to zoom out, middle mouse button to scroll. Using the 
 mouse wheel puts you in variable mode. The mouse wheel selects the current 
 variable, dragging the left mouse button changes it (enumerations and 
 floats are changed by dragging to the right or left), clicking the middle 
 mouse button resets to the initial value, and right clicking returns to 
 zoom/scroll mode.

 You can modify or add to the formulas while it's running, look in the 
 subdirectories.

 http://members.shaw.ca/burton-radons/GPUFractal-1.7z (binary, 204KB)
 http://members.shaw.ca/burton-radons/GPUFractal-1-source.7z (source, 
 1,360KB)

 The source is pretty shit and will require slight modification of the 
 makefile's paths to compile. I use D v1 and bud.

Works great, GeForce 8600. I zoomed in really far and saw that fractals really _don't_ go on forever! I knew it! ;)
Oct 18 2007
prev sibling next sibling parent reply Matti Niemenmaa <see_signature for.real.address> writes:
Burton Radons wrote:
 Hey guys, I've been fooling around with GLSL recently

Vendor: 'ATI Technologies Inc.' Renderer: 'RADEON X800 Series x86/MMX/3DNow!/SSE2' Version: '2.0.6847 WinXP Release' Hogs CPU, does nothing. If I #define ATI_9800 it draws what looks like just a circle. -- E-mail address: matti.niemenmaa+news, domain is iki (DOT) fi
Oct 18 2007
parent reply Burton Radons <burton-radons shaw.ca> writes:
Matti Niemenmaa Wrote:

 Burton Radons wrote:
 Hey guys, I've been fooling around with GLSL recently

Vendor: 'ATI Technologies Inc.' Renderer: 'RADEON X800 Series x86/MMX/3DNow!/SSE2' Version: '2.0.6847 WinXP Release' Hogs CPU, does nothing. If I #define ATI_9800 it draws what looks like just a circle.

ATI_9800 was a hack to allow me to test the compiler on that computer; nothing from 9800 or before can work, it's missing features. Try defining ATI_X850 instead. The next release defines ATI_R420 so that I can select that whole chipset, but again, it's not the target so it won't really work great.
Oct 18 2007
parent Matti Niemenmaa <see_signature for.real.address> writes:
Burton Radons wrote:
 Matti Niemenmaa Wrote:
 Hogs CPU, does nothing. If I #define ATI_9800 it draws what looks like just
 a circle.

ATI_9800 was a hack to allow me to test the compiler on that computer; nothing from 9800 or before can work, it's missing features. Try defining ATI_X850 instead. The next release defines ATI_R420 so that I can select that whole chipset, but again, it's not the target so it won't really work great.

Should have been more specific: for all cases except #define ATI_9800, it appears to do nothing - including with #define ATI_X850. -- E-mail address: matti.niemenmaa+news, domain is iki (DOT) fi
Oct 18 2007
prev sibling parent Nic Tiger <g_tiger progtech.ru> writes:
Burton Radons пишет:

 Hey guys, I've been fooling around with GLSL recently and realised I could do
a Mandelbrot fractal at full frame rate, so I implemented a kind of mini-Ultra
Fractal.
 
 It works in single pass, so, uh, save your work before you try it because it
just might cause your card to freeze if its GLSL support sucks or it isn't VERY
good at branching shaders. If it works on your machine, I'd like to hear of it;
if it doesn't, I'd also like to hear of it. For reference, my setup is an
NVIDIA 8800 GTX (beta drivers) on Windows Vista with an Intel Dual Core 2.66GHz
processor. I can confirm that it doesn't work on an ATI Radeon 9800 on Windows
XP.
 
 The interface is exclusively mouse based. Left mouse button to zoom in, right
mouse button to zoom out, middle mouse button to scroll. Using the mouse wheel
puts you in variable mode. The mouse wheel selects the current variable,
dragging the left mouse button changes it (enumerations and floats are changed
by dragging to the right or left), clicking the middle mouse button resets to
the initial value, and right clicking returns to zoom/scroll mode.
 
 You can modify or add to the formulas while it's running, look in the
subdirectories.
 
 http://members.shaw.ca/burton-radons/GPUFractal-1.7z (binary, 204KB)
 http://members.shaw.ca/burton-radons/GPUFractal-1-source.7z (source, 1,360KB)
 
 The source is pretty shit and will require slight modification of the
makefile's paths to compile. I use D v1 and bud.

Vendor: 'NVIDIA Corporation' Renderer: 'GeForce 6600 GT/PCI/SSE2' Version: '2.0.3' Error: Could not successfully link program: Fragment info ------------- (69) : error C5051: profile does not support conditional returns
Oct 20 2007