www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - GPUFractal-2

reply Burton Radons <burton-radons shaw.ca> writes:
Ohskays, update time! Pretty much everything is changed. Added language
parameter to schema, added Cg (Cg and GLSL use the same formulae, only their
base schema file is different), added global parameters, greatly improved the
code (although I still wouldn't bring it home to mama), greatly improved text
rendering (the X850 renders it weirdly, I don't know what's up with that),
added gradient parameters (format is the same as in Ultra Fractal), and you can
zoom and pan with the same button.

You now have to pass gpufractal.exe a schema file on the commandline; the two
packaged schema are "schema-fractal-cg.h" and "schema-fractal-glsl.h".

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.

This is how compatibility seems to be on ATI cards:

	R520 (X1300-X1950) - Should work with a recent driver!
	R420 (X700-X850) - Barely works with a hacked limited path, no guarantees.
	R300 (9500-9800) - Hah! No way.
	R200, R100, Rage, Mach - Err, no.

The NVIDIA functionality seems to be:

	GeForce 8 - Yayyay!
	GeForce 7 - Yay!
	GeForce 6 - Dunno?
	GeForce 2-5/256, Riva 128/TNT/TNT2, NV1/NV2 - Not likely.
	Hercules - Untested.

If it seems like it should work but it doesn't, your driver is probably years
out of date. The current ATI driver reports version "2.0.6120" on the
commandline on Windows XP, "2.0.6956" on Vista. The current NVIDIA driver
reports version "2.1.1" on Vista.

Files:

http://members.shaw.ca/burton-radons/GPUFractal-2.7z (executable, 247KB)
http://members.shaw.ca/burton-radons/GPUFractal-2-source.7z (source, 289KB)
http://members.shaw.ca/burton-radons/cg.7z (Cg DLLs if you need them, 627KB)
Oct 20 2007
next sibling parent reply Yigal Chripun <yigal100 gmail.com> writes:
What about Intel based graphics?
I'm using a laptop and so have an integrated intel video card. It's an
910 according to device manager...

Burton Radons wrote:
 Ohskays, update time! Pretty much everything is changed. Added language
parameter to schema, added Cg (Cg and GLSL use the same formulae, only their
base schema file is different), added global parameters, greatly improved the
code (although I still wouldn't bring it home to mama), greatly improved text
rendering (the X850 renders it weirdly, I don't know what's up with that),
added gradient parameters (format is the same as in Ultra Fractal), and you can
zoom and pan with the same button.
 
 You now have to pass gpufractal.exe a schema file on the commandline; the two
packaged schema are "schema-fractal-cg.h" and "schema-fractal-glsl.h".
 
 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.
 
 This is how compatibility seems to be on ATI cards:
 
 	R520 (X1300-X1950) - Should work with a recent driver!
 	R420 (X700-X850) - Barely works with a hacked limited path, no guarantees.
 	R300 (9500-9800) - Hah! No way.
 	R200, R100, Rage, Mach - Err, no.
 
 The NVIDIA functionality seems to be:
 
 	GeForce 8 - Yayyay!
 	GeForce 7 - Yay!
 	GeForce 6 - Dunno?
 	GeForce 2-5/256, Riva 128/TNT/TNT2, NV1/NV2 - Not likely.
 	Hercules - Untested.
 
 If it seems like it should work but it doesn't, your driver is probably years
out of date. The current ATI driver reports version "2.0.6120" on the
commandline on Windows XP, "2.0.6956" on Vista. The current NVIDIA driver
reports version "2.1.1" on Vista.
 
 Files:
 
 http://members.shaw.ca/burton-radons/GPUFractal-2.7z (executable, 247KB)
 http://members.shaw.ca/burton-radons/GPUFractal-2-source.7z (source, 289KB)
 http://members.shaw.ca/burton-radons/cg.7z (Cg DLLs if you need them, 627KB)
Oct 20 2007
parent Burton Radons <burton-radons shaw.ca> writes:
Yigal Chripun Wrote:

 What about Intel based graphics?
 I'm using a laptop and so have an integrated intel video card. It's an
 910 according to device manager...
No way! DirectX Shader Model 2.0, which the GMA 910GL supports, only handles 32+64 total instructions and has no dynamic flow control support. I need a single-pass Turing complete GPU, which defines a fairly recent cut-off point for full capability. I can see some way of computing a Mandelbrot fractal on such a machine (using 8.8 fixed point), but it would be much like the Mandelbrot printouts from the 1960s: slow to generate and low in detail. Sorry!
Oct 20 2007
prev sibling next sibling parent reply Matti Niemenmaa <see_signature for.real.address> writes:
Burton Radons wrote:
 Ohskays, update time! Pretty much everything is changed. Added language
 parameter to schema, added Cg (Cg and GLSL use the same formulae, only their
 base schema file is different), added global parameters, greatly improved the
 code (although I still wouldn't bring it home to mama), greatly improved text
 rendering (the X850 renders it weirdly, I don't know what's up with that),
 added gradient parameters (format is the same as in Ultra Fractal), and you
 can zoom and pan with the same button.
Nice! The Cg version works on my X800XL now, with some limitations. Vendor: 'ATI Technologies Inc.' Renderer: 'RADEON X800 Series x86/MMX/3DNow!/SSE2' Version: '2.0.6847 WinXP Release' Changing the "Inside" option gives this, I guess C6003 is a limitation of my card: CG Compilation failed: (114) : warning C7011: implicit cast from "float4" to "float2" (114) : warning C7011: implicit cast from "float4" to "float2" (0) : error C6003: Arithmetic instruction limit of 512 exceeded; 519 arithmetic instructions needed to compile program Trying to set Gradient Offsets and Gradients to their defaults with middle click gives this: ArrayBoundsError gpufractal.main(265) -- E-mail address: matti.niemenmaa+news, domain is iki (DOT) fi
Oct 20 2007
parent Burton Radons <burton-radons shaw.ca> writes:
Matti Niemenmaa Wrote:

 Burton Radons wrote:
 Ohskays, update time! Pretty much everything is changed. Added language
 parameter to schema, added Cg (Cg and GLSL use the same formulae, only their
 base schema file is different), added global parameters, greatly improved the
 code (although I still wouldn't bring it home to mama), greatly improved text
 rendering (the X850 renders it weirdly, I don't know what's up with that),
 added gradient parameters (format is the same as in Ultra Fractal), and you
 can zoom and pan with the same button.
Nice! The Cg version works on my X800XL now, with some limitations. Vendor: 'ATI Technologies Inc.' Renderer: 'RADEON X800 Series x86/MMX/3DNow!/SSE2' Version: '2.0.6847 WinXP Release' Changing the "Inside" option gives this, I guess C6003 is a limitation of my card: CG Compilation failed: (114) : warning C7011: implicit cast from "float4" to "float2" (114) : warning C7011: implicit cast from "float4" to "float2" (0) : error C6003: Arithmetic instruction limit of 512 exceeded; 519 arithmetic instructions needed to compile program
Yeah, I gave up trying to figure out how to keep under the limits for the R420. What you scrolled into was exponential smoothing, which attaches code to each loop. I had previously hacked down MAXITER to get under a limit (I think it was 18), but then it stopped working in my last tests and I decided to leave it as is rather than make a mess out of the code for a card I didn't actually support. One thing in my plans is to make the code more forgiving of errors, so that it will just say that this is an invalid condition, here is why, enjoy this black screen until you fix the problem.
 Trying to set Gradient Offsets and Gradients to their defaults with middle
click
 gives this:
 
 ArrayBoundsError gpufractal.main(265)
Whoops!
Oct 20 2007
prev sibling next sibling parent reply Nic Tiger <g_tiger progtech.ru> writes:
Burton Radons пишет:

 Ohskays, update time! Pretty much everything is changed. Added language
parameter to schema, added Cg (Cg and GLSL use the same formulae, only their
base schema file is different), added global parameters, greatly improved the
code (although I still wouldn't bring it home to mama), greatly improved text
rendering (the X850 renders it weirdly, I don't know what's up with that),
added gradient parameters (format is the same as in Ultra Fractal), and you can
zoom and pan with the same button.
 
 You now have to pass gpufractal.exe a schema file on the commandline; the two
packaged schema are "schema-fractal-cg.h" and "schema-fractal-glsl.h".
 
 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.
 
 This is how compatibility seems to be on ATI cards:
 
 	R520 (X1300-X1950) - Should work with a recent driver!
 	R420 (X700-X850) - Barely works with a hacked limited path, no guarantees.
 	R300 (9500-9800) - Hah! No way.
 	R200, R100, Rage, Mach - Err, no.
 
 The NVIDIA functionality seems to be:
 
 	GeForce 8 - Yayyay!
 	GeForce 7 - Yay!
 	GeForce 6 - Dunno?
 	GeForce 2-5/256, Riva 128/TNT/TNT2, NV1/NV2 - Not likely.
 	Hercules - Untested.
 
 If it seems like it should work but it doesn't, your driver is probably years
out of date. The current ATI driver reports version "2.0.6120" on the
commandline on Windows XP, "2.0.6956" on Vista. The current NVIDIA driver
reports version "2.1.1" on Vista.
 
 Files:
 
 http://members.shaw.ca/burton-radons/GPUFractal-2.7z (executable, 247KB)
 http://members.shaw.ca/burton-radons/GPUFractal-2-source.7z (source, 289KB)
 http://members.shaw.ca/burton-radons/cg.7z (Cg DLLs if you need them, 627KB)
Vendor: 'NVIDIA Corporation' Renderer: 'GeForce 6600 GT/PCI/SSE2' Version: '2.0.3' with Cg works!
Oct 20 2007
parent reply Burton Radons <burton-radons shaw.ca> writes:
Nic Tiger Wrote:

 Vendor: 'NVIDIA Corporation'
 Renderer: 'GeForce 6600 GT/PCI/SSE2'
 Version: '2.0.3'
 
 with Cg works!
Just like that? Great! What about GLSL with your current driver? If it doesn't work, it should after updating.
Oct 20 2007
parent Burton Radons <burton-radons shaw.ca> writes:
Burton Radons Wrote:

 Nic Tiger Wrote:
 
 Vendor: 'NVIDIA Corporation'
 Renderer: 'GeForce 6600 GT/PCI/SSE2'
 Version: '2.0.3'
 
 with Cg works!
Just like that? Great! What about GLSL with your current driver? If it doesn't work, it should after updating.
Ah, I saw your other message.
Oct 20 2007
prev sibling parent Burton Radons <burton-radons shaw.ca> writes:
Updated the archive with majorly better handling of error conditions. It'll now
properly identify the file/line that caused a message and print errors better
in general, and it will keep the program running so that you can fix it and
continue on. This also fixes some hardcoded limitations which weren't readily
apparent, and I figured out what caused the font to display incorrectly on the
X850 and fixed that.

This means I now need a window showing messages, and I'm not sure how I'll fit
that in this intentionally tight, uniform interface.
Oct 20 2007