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."
"Should be interesting to see who wins the shader development race, NVIDIA's Cg, RenderMonkey or whatever 3Dlabs has on the go."
Or maybe nobody wins. Maybe three uncompatible ways to do things will hurt developers.
What they should be doing is to reach an agreement and put it onto opengl.
When his defense asked, "Which computer has Jon Johansen trespassed upon?" the answer was: "His own."
NVIDIA's Cg is a compiler to create shaders.
ATI's Rendermonkey is Toolkit to debug (low-level?) shaders. I did not find any word about "compiler" on ATI's site.
It is more like they are extending each other -- ATI gives IDE, NVIDIA provides compiler.
Experience in C, C++, x86 Assembler, Cg, Render Monkey, Will work for peanuts.
Mouse powered Chips, Open source Processors and Lego
Except its backwards...First they have RenderMan, then RenderMonkey.
Except they aren't getting cheaper, just more powerful. A state of the art card still costs $400+ and probably will for the forseeable future.
On the other hand, today's so called 'budget' cards are far more capable than they used to be, so in that respect prices (with regards to price/performance) have gone down I suppose.
So is the debugger called SpankTheMonkey?
WTF? Over?
Well, if we go on the basis of clever names, ATI wins hands down. Plus, monkeys have always made me think of high quality shaders.
The angel in the oatmeal.
So in a way, you're cost has gone down, because you're getting more value for your money.
You could argue that it would be in the shareholders' best interest that ATi and nVidia cooperate on a standard, but it would be unethical for either corporation to deliberately flaunt the interests of the shareholders.
Where are the cute tricks involving prehensile tails? Where are the happy waltzes to some itinerant organ grinder's music? WHERE'S MY MONKEY?!
wrong,
Intel and AMD compete on _implementations_ of an API (x86). That is good.
An example of competition on propietary APIs and why it's not good is the competition between opengl and DirectX.
If DirectX wins (as seems to be happening), all other operating systems are left out.
If opengl wins, all the people investing on DirectX games developement will have to rewrite their rendering code.
When his defense asked, "Which computer has Jon Johansen trespassed upon?" the answer was: "His own."
Personally, I've been pretty upset with NVIDIA ever since they bought out 3dfx and told Voodoo owners to go screw themselves, that they weren't releasing any new drivers or supporting any Voodoo products. I bought a Voodoo5, instead of a Geforce2 - due to the stability of the Voodoo2 and Voodoo3 I had owned, and due to reading the complaints about NVIDIA's drivers... and a week later 3dfx went under. D'OH!
nVidia didn't really 'buy out' 3dfx, they just bought up certain portions of their technology when 3dfx went under. As for complaints about nVidia's drivers, I'd be interested to know what they were at that time, since I dumped 3dfx for nVidia when the Voodoo3 made it extremely clear that 3dfx was not going to be able to produce cards comparable to the Voodoo and Voodoo2 on nVidia's timeline. Through the TNT lines and GeForce lines the only problems I've had with drivers have been specific to particular games and particular driver versions, and fixed very quickly in most cases.
-PainKilleR-[CE]
For example, The OpenGL interface hasn't changed for donkeys' years. The reason it hasn't changed is that it was designed correctly in the first place. But hardware has still gotten better, thanks to killer apps such as games forcing competition.
Indeed, having to go through the time-expense of learning it might even dissuade developers from picking up a new interface.
Still, these things tend to settle into a reasonably steady state without requiring our opinions, so don't worry; it'll be cool. :)
Well, because under US corporate law, if a company fails to do what is best for their shareholders, then they are under civil law, and in some cases, criminal negligent, and can be sued.
Yeah, I'm that guy.
That's pretty funny, you are going with ATI because you were upset with the lack of 3DFX driver support.
You are in for a big suprise, ATI is the WORST by far of any of the desktop user gfx card companies as far as driver support. They are infamous for releasing buggy drivers or discontinuing support for many of their lines at a moments notice. Compare this to Nvidia who releases a universal driver which covers years worth of part releases and is updated on a regular basis. Even if ATI releases a superior part they just shoot themselves in the foot by releasing shitty drivers on an unpredictable schedule. I used to like ATI back in the day but have been burned one too many times by them.
- Toby
For games, D3D is probably better for games right now as it matches the hardware more closely, but for any longer term graphics work basing it on D3D would be a big risk. The result, D3D is the games king and OpenGL is used more for longer term graphics projects that may be cross platform. Also, OpenGL is much better for anyone learning graphics because it is so much cleaner than D3D.
Both have advantages and disadvantages and both fill important parts of the spectrum.
Which one will win ? Who knows and indeed who cares, both are well supported and actively developed on. In 5 years, when graphics hardware has gotten to the point where it is really stable then we might have a winner ( my bets on OpenGL because it's so much cleaner ) but until then the two standards both serve a purpose.
I mean what would you rather program in Cg or RenderMonkey.... it's a no brainer!
... what happens if you want to render anything else???
They are kind of causing problems for themselves. I mean...
Coming soon - pyrogyra
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
OpenGL isn't 'so much cleaner' than D3D, and hasn't been since D3D v3. In the six versions since then, it's been cleaned up a lot - even John Carmack admits to that.
Ever heard of OpenGL extensions? You know, those proprietary, incomptable things ATi and nVidia were notorious for releasing?
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.
Minimum Requirements: Deep Thought
:)
- Cg is a high-level shading language (compatible with DirectX 9's HLSL) that will compile to both DirectX and OpenGL APIs, or to various sets of OpenGL extensions, even at runtime if desired.
- Render Monkey is an IDE that supports various shading languages, including Microsoft's (and therefore Cg, at least when they add DX9 support). AFAIK, it's not that dissimilar to nVidia's own Effects Browser.
- OpenGL 2.0 is a lot more than just a shading language, but in any case, it's still at the proposal stage. Cg may yet be adopted for the language, but it will likely end up being quite similar at least.
So I see no reason why you couldn't write your shaders in Cg (sorry, DX9 HLSL) within the RenderMonkey environment, and then compile your results to OpenGL 2.0.
nVidia have said they'll support whatever the ARB decides, but even if OpenGL 2.0 does use the 3DLabs language, there's no particular reason you couldn't use a Cg profile to output an OpenGL 2.0 HL shader, or an ARB_vertex_program shader, or something even lower-level.
Hell, why not just write your shaders in RenderMan & then use RenderMonkey or Effects Browser or whatever to import the RIBs & compile that down. Ever wondered why nVidia bought Exluna? There's a lot of RenderMan expertise right there...
Why would anyone engrave "Elbereth"?
Yay competition!
Wait...This is Slashdot, home of the "competition is bad" thread...
Boo! Competiton! Users and developers don't want choice! What does this look like? A democracy?
It's been a long time.
Is Rendermonkey a predecessor to Renderman? Is Renderneanderthal out there?
--
"Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
ob Joe Cartoon:
monkeylooker
That doesn't make it right. Regardless, shareholders get to vote directors on and off the board, so there is accountability should the shareholders wish to make use of it.
Your post is the antithesis of the open source philosophy. By your logic, no company would ever write for open source software because it benefits their competitors as much as it benefits them. You can see that isn't the case with many companies these days, betting more and more on open source.
Of course, you assume that I should take the "open source philosophy" as personal dogma. As it happens, though, my post is entirely in line with open source as I understand it. What I said was that corporations should not screw over shareholders, not that they shouldn't adopt open standards. I actually raised the possibility that shareholders might benefit from a common standard.
I think what you're failing to infer from my post is that if a store owner wants to give away stock to charity and the employees do so in line with the owners directions, then that's just fine by me.
I had an ASUS GeForce2 MX with a DVD decoder and TV out. Only I couldn't use the DVD decoder because it caused a hard freeze. And I couldn't use the TV out because it blue screened. And I couldn't use the packaged drivers at all because they left artifacts on the screen.
So I used the XP bundled drivers. They worked, but they were slow and didn't support TV out or hardware DVD decoding.
On the other hand, I now have a Radeon 8500 that worked swell right out of the box. My iBook has a Radeon Mobility 7500 and hasn't given me the first problem.
It's all relative, and probably has a lot to do with your particular hardware and software configurations. I'm not saying Radeon is better than GeForce; I'm saying that just because it wasn't the right solution for you doesn't mean it isn't the right solution for someone else.
Then again, if you get poor support, or worse, no support (like with *cough*ASUS*cough*), then that's another story. But if they give you your money back and their blessings on buying a new card, you can't really hold it against them.
Hemos, your thoughts about the liability of corporate employees is not entirely true.
Under most U.S. law (mostly State law relating to fiduciary obligations of Directors, Officers & Executives (DOE)), the standard is called the Business Judgement Rule (BJR).
Under the BJR, a DOE is protected from suits for breach of fiduciary duty if the DOE (1) is disinterested (i.e. financially independant of the outcome), (2) acts in good faith, and (3) exercises due care in reaching the decision.
Every decision that a DOE makes does not have to directly accrue to the financial benefit of the corporation. Corporations can, and are expected to, contribute to the local community, support charities, exercise some respect for the environment, i.e perform "good acts".
These "good acts" will not always (or even ever) benefit the corporation financially. Nonetheless, DOEs are never successfully sued because they should have given a dividend instead of donating a piece of land to the city for a park, decided to give employees a day off to help with Habitat for Humnaity, or install CO2 scubbers when the fines are cheaper.
So, contrary to what I see posted on Slashdot frequently, every decision an employee of a company makes DOES NOT have to be the short-term, profit-maximizing decision. Believe it or not, the law allows some leeway in the decision making of running a company.
For more information, see this link
(and please don't respond with "but Enron...." or "look at WorldCom, Global Crossing, etc." I am speaking about the applicable law of fiduciary duties, not engaging in a public policy debate or Crossfire-esque corporate-bashing)
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..
The next version of enlightenment is supposed to use OpenGL for rendering. So it's a window manager thing, not a Xfree thing. Of course, it would be nice if Xfree would support hw rendering of all Xlib primitives.. Oh well..
It is an X thing - X is what provides the basic drawing primitives that applications are supposed to use. So Enlightenment sidesteps X and uses OpenGL for rendering- Enlightenment is just a single program, and does not provide drawing functionality to the other X clients: they're still stuck out in the cold.
Interesting. I am looking at building a semi-low cost machine in the near future, keeping case (but not PS), hard drives, burner, and sound card from my current machine. I was debating between ATI 8500 and Geforce Ti 4200, and finally settled on the Geforce because NVIDIA offers support for Linux/XFree, where as ATI, per contact with their sales/marketing has stated they have NO plans to offer anything similiar. One person went so far to ask why in the world would I WANT hardware 3d support on Linux.