Page 1 of 1
Specular on ATI mobility Radeon 7500
Posted: 12.09.2002, 21:16
by LionAM
Hello!
Is it possible to get specular working under my ATI mobility Radeon 7500 (64 MB)? I downloaded Orbiter today, there it works; but it is DirectX. I tried it with the 16k-dds-file.
Thanks, Alex.
Posted: 13.09.2002, 03:49
by abiogenesis
Not likely, Alex. Chris is an nVidia programmer and has access to nVidia hardware. At the moment, the method of implementing Specular Highlights (Celestia uses Pixel/Vertex Shaders for this) is not standardized. This means that the methods that work on nVidia cards will not work on ATI cards, and vise versa.
I believe that DirectX 9 is supposed to provide some kind of standard but, since Celestia is an Open GL app, I don't know how much of a benefit this will be.
- a b i o g e n e s i s -
Posted: 13.09.2002, 04:30
by Don. Edwards
DirectX 9 will have no barring on this. It the ATI chip. There chips don't use the same calls so anyone with a Radeon based card can forget specturals. I have to here from anyone that has managed to speculars on any ATI Radeon based card. I don't think it would even work on the new king of video cards the ATI Radeon 9700. With all its fancy features its designed to play with microsofts Directx more than OpenGL. But then ID is using them to make Doom III so the OpenGL must be pretty good. I am sure its just not going to give speculars under Celestia either. For now you will have to live with Celestia as it is on your notebook. But hey be happy you can run it at all. I know a few people who can't even do that on there notebooks.
Posted: 13.09.2002, 05:00
by abiogenesis
DirectX 9 will have no direct effect on Celestia's ability to render Specular highlights on ATI cards, this is true. However, the standardization of Pixel/Vertex shaders could make universal shaders a possibility in the future. DirectX 9 applications should be able to use shaders that will work on any DirectX 9 compatible hardware; nVidia, ATI or whatever.
Cross-API standardization is also being talked about, though I'm not up on the current level of progress. If this goes through, it will be possible to write shaders that are completely agnostic to hardware or graphics API.
For this to have an effect on Celestia, the shaders will have to be re-written to conform to this, as of yet unspecified, standard. Then, assuming you're using an, as of yet non-existant, standards-compliant video card from any manufacturer you choose, Specular highlights will work.
And don't knock ATI. They make good cards. The Radeon 9700 is more powerful than anything nVidia has on the market (yet). The new ATI cards support both Pixel and Vertex Shaders but, since the technology is new, they had to come up with their own method. Just like nVidia. This kind of thing happens a lot with new technology. Eventually it will be ironed out.
I think Celestia puts the shaders in separate files, so it should be possible to write an ATI-specific Pixel or Vertex Shader and, with minimal modification of the code, get it to work. I'm not 100% sure on this; Chris would have to verify it, but I think it could be done.
- a b i o g e n e s i s -
Posted: 13.09.2002, 05:34
by chris
abiogenesis wrote:DirectX 9 will have no direct effect on Celestia's ability to render Specular highlights on ATI cards, this is true. However, the standardization of Pixel/Vertex shaders could make universal shaders a possibility in the future. DirectX 9 applications should be able to use shaders that will work on any DirectX 9 compatible hardware; nVidia, ATI or whatever.
There's already been some progress in this direction . . . OpenGL 1.4 has a standard vertex program extension. It's very similar to nVIDIA's vertex program extension, and I plan on migrating to it for Celestia 1.2.6. This will enable some more effects on ATI cards (and other cards too, though I wouldn't buy a new graphics card made by anyone other than nVIDIA or ATI.)
I think Celestia puts the shaders in separate files, so it should be possible to write an ATI-specific Pixel or Vertex Shader and, with minimal modification of the code, get it to work. I'm not 100% sure on this; Chris would have to verify it, but I think it could be done.
Only vertex shaders are in separate text files (the .vp files in the shaders directory). Pixel shaders are setup entirely in C++.
--Chris
Posted: 13.09.2002, 11:55
by LionAM
Thanks for your answers. I hope it will work on my Card when it's ready.