ATI Releases Competition for NVIDIA's Cg
death00 writes "ATI has released a beta of RenderMonkey, their suite of open, extensible shader development tools. ATI showed these tools for the first time at Siggraph 2002. Should be interesting to see who wins the shader development race, NVIDIA's Cg, RenderMonkey or whatever 3Dlabs has on the go."
Because Cg is written more or less directly to NVidia's methodology and silicon. So if you don't share that methodology, and want to do things differently you will be working against the design goals of the language. Which would you prefer a hack that adds on some functionality, or proper well designed language?
I'd do something interesting, but my server can't handle a slashdotting.
The 3Dlabs proposal is actually for extending OpenGL with a C-like shader language, and it looks pretty clever.
Indeed, ATI people have stated that it would be possible to create shaders in whatever language you prefer. DX9 HLSL, Cg, OpenGL 2.0 SL.
But more importantly, all the ARB members are working to unify the various approaches in the OpenGL 2.0 shading language. 3DLabs and NV have both contributed proposals, and the relative merits are being discussed.
Expect to see a much more managable shader situation in 2003. A developer will be able to use wichever tool like RenderMonkey they wish, or roll their own. I fully expect to see tools like this as plug ins to 3DSMax, Maya, Softimage etc.
FYI, the name refers to RenderMan, in case anyone didn't get that.
(i don't work for any of the above)
"This isn't right. This isn't even wrong." -- Wolfgang Pauli
Namely, the fact that OSX actually renders its GUI in 3D (w/ hw accel).
No, it doesn't. What the new version of Quartz - the one shippning in Jaguar, a.k.a OS X.II (well, X.2:) - does is let developers create composite objects, which are then sent to the graphics card to actually render. It's using the graphics card, but it's not doing 3D acceleration (OS X does not have a 3Dwm, last I checked); still, it's a good thing since it does free up CPU time for other tasks. At this point I'm obliged to mention that Windows does the same thing with GDI+, and has been doing so since the initial release of Windows XP; obviously you need a driver which supports this, but almost all video card drivers currently do.
Jaguar should have been the real release of OS X - it finally delivers everything Apple promised - it's too bad they released it a year early (and in shoddy condition) just to get it out the door ahead of XP. Well, you know Steve Jobs and his ego.
I am further obliged to mention the fact that I think Berlin/Fresco might be doing if you're running it on the OpenGL graphics driver. Of course, XFree86 doesn't. When even Berlin supports something, you know X is behind the curve. :-P
Even if ATI releases a superior part they just shoot themselves in the foot by releasing shitty drivers on an unpredictable schedule.
That was true in the past, but I haven't had a single issue with either my original 64 Meg Radeon, my Radeon 7500, or my Radeon 8500. I really wish people would stop living in the past and realize that ATI has dramatically improved their driver support in the past year.
Dinivin
I think that you and the parent are missing the real reason that OpenGL is king on the workstations and Direct3D never will be. OpenGL is extendable by everyone and Direct3D is completly controlled by MS.
You can't go and make your own version of Direct3D with a hypercube (or whatever) extension that draws a super widget because Direct3D is closed. OpenGL is completly open and a vendor of 3-D hardware can add whatever they want to the API. The programmers have to then use the extension, but for workstations where the constraints are defined this is usually not a problem.
PC Games on the other hand have to run on the most diverse set of hardware ever. From the lowest 90Mhz Pentium to the newest 2600+ Athlon, with a range of video cards to make a driver writer weak at the knees. (they don't have to run well, just run) D3D solves this by making all functions static and creating software implementations of them. So you program to a 'version' of the API and you know exactly what the machine is capable of and if you can't get an accelerated version of the functionality, then at least you don't have to create your own. Great for game writers, but not as useful for workstation class applications, since they are more concerned with accuracy then games are (in general).
OpenGL is better when the HW that you want to support is smaller, since you can get better performance out of it. Direct3D is better when you just want it to run without having to write a ton of code to emulate the top level functionality.
Effects Browser requires that you write the plugin as you usually would, compile, and create a .dll for it, etc., and then you can view it in the Effects Browser. (From the Effects Browser you can't change anything; only view.)
With RenderMonkey, you don't worry about C/C++ at all. All of the settings (constants, input textures, etc.) for the shader are nicely displayed on the left, and you can just click and change them as you wish. This is absolutely nothing like NVidia's Effects Browser.
If you don't uninstall the old driver set before installing the new one, you can really mess up your system. Likewise if you had a NVidia card previously, and didn't completely uninstall the drivers for that before installing the Radeon ones. Did you upgrade without uninstalling at any time previously? If so, you may want to first unisntall your current drivers, and then pick through the registry for dangling settings from old cards. NVidia's site has a doc describing how to do this for their cards somewhere on their site..
Under Win2k+, ATi's drivers are rock-solid stable. Unless, of course, your motherboard has a lousy AGP driver, in which case you're screwed. (I've found that some motherboard manufacturers only cater to one brand of video card.)
It can be especially bad whenever you have a relatively new motherboard. Some manufacturers ship these things out, and the entire first revision of the board has a flaw. There was a whole generation of VIA chips like this a while back.. I think it was the KT133A chipset on a certain ASUS board.. I had one, but ended up returning it and getting the revision board.
The worst I've had, as far as instability's concerned, with my 8500LE, is a few occassional reboots whenever exiting an especially taxing 3D application. It is a bit annoying, but at least it doesn't lock hard like previous Windows versions did..
Incidentally, if it's your own code that's causing it to reboot/lock up, then I suggest you check your vertex shader setting code. I had a rebooting problem with my own code for a while, and it turned out to be that I was setting an invalid vertex shader. On a NVidia card, it'll just ignore it, and use the fixed function pipeline. On an 8500, the computer'll reboot. Likewise, if it's a specific game that's screwing up on just 8500s, then this could be the problem there as well.
Just my two cents..
Cheers..