Dynamic Cloud Shadows

Discussion forum for Celestia developers; topics may only be started by members of the developers group, but anyone can post replies.
danielj
Posts: 1477
Joined: 15.08.2003
With us: 21 years 3 months

Post #41by danielj » 23.12.2007, 14:55

OH,NO!Just ONE MORE THING that OBLIGATE you to BUY a Geforce 8! :cry:
Until the end of 2008,HOW MANY THINGS will not work in previous video cards?Soon,Celestia will be DEDICATED to Geforces 8... :x



Adirondack wrote:FYI:

6600 / 163.71:
Image

8800GTS / 163.69:
Image

Adirondack

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Post #42by ElChristou » 23.12.2007, 15:00

danielj wrote:OH,NO!Just ONE MORE THING that OBLIGATE you to BUY a Geforce 8! :cry:


Danielj, there is no obligation in anything. You just skip this feature and all is fine!
Image

Avatar
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years 2 months
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Post #43by cartrite » 23.12.2007, 15:41

I found a way of getting rid of those ^M characters ( open with kwrite => Tools => End of Line => Unix => Save ) quite easily and was able to see the differences between the original files and the patch files. It seems like there is a lot of math done in the cpu with floating point and the result is sent to the gpu. Maybe the result is getting truncated.
cartrite
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4

Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 9 months
Location: Seattle, Washington, USA

Post #44by chris » 23.12.2007, 16:41

danielj wrote:OH,NO!Just ONE MORE THING that OBLIGATE you to BUY a Geforce 8! :cry:
Until the end of 2008,HOW MANY THINGS will not work in previous video cards?Soon,Celestia will be DEDICATED to Geforces 8... :x


The whole point of all this testing is to find out why the cloud shadows patch doesn't work on every graphics card and fix it so that it does work.

--Chris

Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 9 months
Location: Seattle, Washington, USA

Post #45by chris » 23.12.2007, 17:00

t00fri wrote:
cartrite wrote:This probably doesn't affect the code (or could it?) but I was trying to use Kompare to see the differences between the new patch and cvs originals and I couldn't because Kompare shows the whole file shaddermanager.h as being different with respect to the original cvs version of the file because of the dreaded ^M character. I seen them in Emacs. Every line ends with ^M. The other 3 files have the ^M character too.
EDIT: Another thing I found is that the 8000 series started to support 128 bit floating point in case that matters.
cartrite

cartrite,

the ^M is nothing but the Windows line ending displayed in an UNIX editor. This happens since Chris L. works under Windows. Since some devs use Windows some use Linux, that's quite OK and taken care of.

The 128bit floating point might be an issue, of course. We really need to know whether there is a card just below G80 that does NOT show the blocking.

PS: When do you sleep actually? ;-)


I was wondering the same :)

Anyhow, the 128-bit float support on the G80 shouldn't make any difference. In fact, one of the features of my patch is that it's supposed to emulate high precision texture interpolation on graphics cards that don't support it natively (i.e. cards other than the GeForce 8 and Radeon X2xxx series.) But, it appears that the code is relying on some GeForce 8 feature anyhow, and I can't figure out what. The blocks in the shadows on non-G80 cards correspond with texels in the cubemap LUT. The sharp boundaries are baffling--even if the problem is inadequate precision, bilinear filtering should still be operating and preventing such clear lines from showing.

Here's the section of shader code that uses the cubemap LUT:

Code: Select all

vec4 cloudShadowRGBA = textureCube(rectToSphTex, cloudShadowTexCoord0);
vec2 cloudShadowUV;
cloudShadowUV.x = dot(cloudShadowRGBA.rg, vec2(0.996094, 0.003922)) + cloudShadowTexOffset;
cloudShadowUV.y = dot(cloudShadowRGBA.ba, vec2(0.996094, 0.003922));
shadow *= (1.0 - texture2D(cloudShadowTex, cloudShadowUV).a * 0.75);


Note that the constants are 0.996094 = 255/256, and 0.003922 = 1/255. To clarify, the shader is calculating:

cloudShadowUV.x = red * 255/256 + green * 1/255
cloudShadowUV.y = blue * 255/256 + alpha * 1/255

...where red, green, blue, and alpha are 8-bit values from the cubemap LUT. If I could rely on hardware support for filtering of 16-bit textures, I could just use the value retrieved from the cubemap directly, replacing the first four lines of the above code with:

Code: Select all

vec2 cloudShadowUV = textureCube(rectToSphTex, cloudShadowTexCoord0);


Anyone have ideas?

--Chris

Avatar
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years 2 months
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Post #46by cartrite » 23.12.2007, 21:24

chris wrote:Anyone have ideas?

We still don't know if a 7000 series card works or not. Maybe you should make an executable available so someone who can't build it can test too.

Once we know which cards don't work, then go through the technical specs and see what could be supported on working cards that isn't supported on non working cards.
As far as technical specs, I can only find basic information on the NVIDIA site. And only for 7000 and 8000 cards. Do you know a better source for tech specs?
cartrite
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4

Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 9 months
Location: Seattle, Washington, USA

Post #47by chris » 23.12.2007, 21:46

cartrite wrote:
chris wrote:Anyone have ideas?
We still don't know if a 7000 series card works or not. Maybe you should make an executable available so someone who can't build it can test too.

Once we know which cards don't work, then go through the technical specs and see what could be supported on working cards that isn't supported on non working cards.
As far as technical specs, I can only find basic information on the NVIDIA site. And only for 7000 and 8000 cards. Do you know a better source for tech specs?
cartrite


I'm away from my Windows machine for a few days, so I can't upload a Windows build--in fact I'm posting from my iPhone right now. Fridger's Quadro is based on a GeForce 7 series chip, so I suspect no other GEfoece 7 cards will work, but I'd still like to see someone try a 7900. Or an ATI card.

--Chris

Avatar
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years 2 months
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Post #48by cartrite » 23.12.2007, 21:55

I haven't built this on windows but I'll give it a try and upload the executable to my web site. That way someone could replace that file with the file they have in there installed copy. What would they need to have. 1,5pre4 or 1.5pre5?
cartrite
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Post #49by t00fri » 23.12.2007, 21:55

chris wrote:
cartrite wrote:
chris wrote:Anyone have ideas?
We still don't know if a 7000 series card works or not. Maybe you should make an executable available so someone who can't build it can test too.

Once we know which cards don't work, then go through the technical specs and see what could be supported on working cards that isn't supported on non working cards.
As far as technical specs, I can only find basic information on the NVIDIA site. And only for 7000 and 8000 cards. Do you know a better source for tech specs?
cartrite

I'm away from my Windows machine for a few days, so I can't upload a Windows build--in fact I'm posting from my iPhone right now. Fridger's Quadro is based on a GeForce 7 series chip, so I suspect no other GEfoece 7 cards will work, but I'd still like to see someone try a 7900. Or an ATI card.

--Chris


True, and as I wrote, the G72 chip does show blocking as well. Still a FX 7900 might be worth a try. My card is roughly equivalent to a FX 7300. I might compile a Windows version for other people to try. Actually I have one already. I just have to post it....

Bye Fridger
Image

Avatar
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years 2 months
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Post #50by cartrite » 23.12.2007, 21:58

t00fri wrote:
chris wrote:
cartrite wrote:
chris wrote:Anyone have ideas?
We still don't know if a 7000 series card works or not. Maybe you should make an executable available so someone who can't build it can test too.

Once we know which cards don't work, then go through the technical specs and see what could be supported on working cards that isn't supported on non working cards.
As far as technical specs, I can only find basic information on the NVIDIA site. And only for 7000 and 8000 cards. Do you know a better source for tech specs?
cartrite

I'm away from my Windows machine for a few days, so I can't upload a Windows build--in fact I'm posting from my iPhone right now. Fridger's Quadro is based on a GeForce 7 series chip, so I suspect no other GEfoece 7 cards will work, but I'd still like to see someone try a 7900. Or an ATI card.

--Chris

True, and as I wrote, the G72 chip does show blocking as well. Still a FX 7900 might be worth a try. My card is roughly equivalent to a FX 7300. I might compile a Windows version for other people to try. Actually I have one already. I just have to post it....

Bye Fridger
I'll hold off on building windows then. I'm still on Linux.
cartrite
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Post #51by t00fri » 23.12.2007, 22:15

So this is a Win XP executable (Celestia.exe) built with Chris' latest cloud shadow patch with Vc++.Net 2003 from the latest CVS code. People who want to try, have to exchange it with their installed Celestia.exe of 1.5.0pre5, say or perhaps also 1.5.0pre4. Note this is JUST the Celestia executable!!!!

http://www.celestiaproject.net/~t00fri/images/Celestia.exe


Careful, DON'T overwrite your original Celestia.exe!

Let me know whether it works for you. This is NOTHING for Daniel ;-)

Bye Fridger
Image

ANDREA
Posts: 1543
Joined: 01.06.2002
With us: 22 years 5 months
Location: Rome, ITALY

Post #52by ANDREA » 23.12.2007, 23:36

Well, probably I lost my way among the many posts on the subject, but I didn't find any info about the cloud speed, so I think it should still be set =zero, correct? 8O
But if it's so, I inform you that I'm looking just now at a very nice Don's 8k cloudmap, rotating at speed 10 around the Earth globe, showing correctly the cloud shadows, using 1.5.0pre5 with the Fridger's Celestia.exe executable from last posts. 8)
Please confirm that this is the result due after Chris' enhancement.
Bye and thank you.

Andrea :D
"Something is always better than nothing!"
HP Omen 15-DC1040nl- Intel® Core i7 9750H, 2.6/4.5 GHz- 1TB PCIe NVMe M.2 SSD+ 1TB SATA 6 SSD- 32GB SDRAM DDR4 2666 MHz- Nvidia GeForce GTX 1660 Ti 6 GB-WIN 11 PRO

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Post #53by t00fri » 23.12.2007, 23:46

ANDREA wrote:Well, probably I lost my way among the many posts on the subject, but I didn't find any info about the cloud speed, so I think it should still be set =zero, correct? 8O
But if it's so, I inform you that I'm looking just now at a very nice Don's 8k cloudmap, rotating at speed 10 around the Earth globe, showing correctly the cloud shadows, using 1.5.0pre5 with the Fridger's Celestia.exe executable from last posts. 8)
Please confirm that this is the result due after Chris' enhancement.
Bye and thank you.

Andrea :D


Andrea,

yes, it's all correct in your case: your are welcome to try the cloud shadows, of course, but since you own a fancy 8800 GTX card, the cloud shadows should work fine .

What we need as a much more critical test is someone with e.g. a FX 7900 or somewhat lower card.

Bye Fridger
Image

ANDREA
Posts: 1543
Joined: 01.06.2002
With us: 22 years 5 months
Location: Rome, ITALY

Post #54by ANDREA » 23.12.2007, 23:59

t00fri wrote:
ANDREA wrote:Well, probably I lost my way among the many posts on the subject, but I didn't find any info about the cloud speed, so I think it should still be set =zero, correct? 8O
But if it's so, I inform you that I'm looking just now at a very nice Don's 8k cloudmap, rotating at speed 10 around the Earth globe, showing correctly the cloud shadows, using 1.5.0pre5 with the Fridger's Celestia.exe executable from last posts. 8)
Please confirm that this is the result due after Chris' enhancement.
Bye and thank you.
Andrea :D
Andrea,
yes, it's all correct in your case: your are welcome to try the cloud shadows, of course, but since you own a fancy 8800 GTX card, the cloud shadows should work fine .
What we need as a much more critical test is someone with e.g. a FX 7900 or somewhat lower card.
Bye Fridger

Fridger, obviously I well understood that the problem is NOT regarding the 8800 series (danielj's cry was sufficient to point out it), but I'm saying anyhow that I don't see written anywere that the cloud speed now must no more be set =0. 8)
So, can someone please show me where it's told that now it can be set at any value, even if ONLY with 8800 cards, obviously?
Tks

Andrea :D
"Something is always better than nothing!"
HP Omen 15-DC1040nl- Intel® Core i7 9750H, 2.6/4.5 GHz- 1TB PCIe NVMe M.2 SSD+ 1TB SATA 6 SSD- 32GB SDRAM DDR4 2666 MHz- Nvidia GeForce GTX 1660 Ti 6 GB-WIN 11 PRO

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Post #55by t00fri » 24.12.2007, 00:55

Andrea,

since with your 8800 card the largest texture size is 8k (look in help-> OpenGl Info) , you don't have to set the speed for your 8k clouds to zero! People with older cards and smaller max texture sizes will have to.

Bye Fridger
Image

ANDREA
Posts: 1543
Joined: 01.06.2002
With us: 22 years 5 months
Location: Rome, ITALY

Post #56by ANDREA » 24.12.2007, 01:14

t00fri wrote:Andrea, since with your 8800 card the largest texture size is 8k (look in help-> OpenGl Info) , you don't have to set the speed for your 8k clouds to zero! People with older cards and smaller max texture sizes will have to. Bye Fridger

Thank you for the confirmation, Fridger.
Mine was just a doubt, anyhow, no more. :wink:
BTW, I think the cloud movement itself useless, a couple tropical storms over Mediterranean Sea are a bit, hu, absurd! 8O
Bye

Andrea :D
"Something is always better than nothing!"
HP Omen 15-DC1040nl- Intel® Core i7 9750H, 2.6/4.5 GHz- 1TB PCIe NVMe M.2 SSD+ 1TB SATA 6 SSD- 32GB SDRAM DDR4 2666 MHz- Nvidia GeForce GTX 1660 Ti 6 GB-WIN 11 PRO

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Post #57by ElChristou » 24.12.2007, 01:16

Zero speed for clouds wasn't for VTs only?
Image

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Post #58by t00fri » 24.12.2007, 01:30

ElChristou wrote:Zero speed for clouds wasn't for VTs only?


No, it was as I said. I am using moving clouds with my VT's for example.

F.
Image

Johaen
Posts: 341
Joined: 14.01.2006
With us: 18 years 10 months
Location: IL, USA

Post #59by Johaen » 24.12.2007, 01:53

Thanks to Fridger's .exe, I have verified that both my 7900GT and my 6200 have the same super pixelated cloud shadows. I wish I could have compiled from code myself, but I had a hell of a time with the environment variables when trying to build it. Oh well. Maybe I'll get around to figuring it out sometime.
AMD Athlon X2 4400+; 2GB OCZ Platinum RAM; 320GB SATA HDD; NVidia EVGA GeForce 7900GT KO, PCI-e, 512MB, ForceWare ver. 163.71; Razer Barracuda AC-1 7.1 Gaming Soundcard; Abit AN8 32X motherboard; 600 watt Kingwin Mach1 PSU; Windows XP Media Center SP2;

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Post #60by t00fri » 24.12.2007, 02:06

Johaen wrote:Thanks to Fridger's .exe, I have verified that both my 7900GT and my 6200 have the same super pixelated cloud shadows. I wish I could have compiled from code myself, but I had a hell of a time with the environment variables when trying to build it. Oh well. Maybe I'll get around to figuring it out sometime.


Thanks, Johaen. Just to be sure: with "super pixelated" you mean the blocking effects we have displayed above from various cards that do NOT contain G80 chips.

Bye Fridger
Image


Return to “Ideas & News”