Jump to content
Posted 20 March 2002 - 01:43 AM
Posted 22 March 2002 - 04:22 AM
Posted 22 March 2002 - 07:46 AM
Posted 19 May 2002 - 04:37 AM
Posted 19 May 2002 - 05:07 AM
Posted 19 May 2002 - 05:48 AM
Posted 19 May 2002 - 06:34 AM
Wow man that is pretty well, erm.. pretty
Do you have a small demo showing it moving? Do the clouds billow and change over time or just move around?
Posted 19 May 2002 - 08:57 AM
Posted 19 May 2002 - 10:19 AM
1. Can you specify how you blended the layers? I can''t find a good blending mode for my color gradient and the clouds.
2. How did you use the exponential cut off function for the clouds? I can''t get it to look right.
// f is the cloud density value from the fractal generator (range 0 to 255)
f = f - CloudObject->density;
if(f<0) f = 0;
f = pow(CloudObject->sharpness, f);
f = 255.0 - (f * 255.0);
// f now is your cloud opacity cloud_alpha
3. I see that you have thinner clouds closer to the horizon and denser clouds closer to the viewer. Is that just this particular screenshot, or you purposely simulate that condition? How did you do that?
Just use multiple layers with different parameters to the exponential function and then blend them all?
4. Some of the clouds are darker then others. Is that multiple layers again with each layer having a different color assigned to it? I see you have darker clouds near the sun. I''m not sure but if that''s the correct way of doing things.
Your clouds looks great if you''re aiming for a photorealistic model of the real world. If you try to simulate a warm magical world or a cold science fiction world these clouds aren''t very good in setting the mood. Obviously you can change the gradients and tweak the desnity parameters, but I can''t picture how it would look
If you take a look at some world of warcraft screenshots they don''t look nearly as realistic as yours, but they set the mood very nicely
Posted 19 May 2002 - 11:35 AM
Posted 20 May 2002 - 11:55 AM
Posted 20 May 2002 - 03:05 PM
Posted 20 May 2002 - 04:24 PM
Some cool ideas for you all:
Thunder and Lightning? Haven''t seen any good yet, would be interesting (and coupled with awesome sound effects, yay!).
This way I get the benefit of the sphere and don''t run into texture mapping artifacts) but the clouds looked too low. It''s hard to explain the effect, but I''m sure anyone who wrote a sky class ran into this problem.
Can someone give me some basic values of how high above the terrain their sphere/plane is, what''s the radius, how large is it relative to the terrain. I just need some basic values to start off with, to make experimentation a little easier
Another major problem I ran into is shading the clouds. Right now my clouds have constat color, and it doesn''t look too good. Yann L, I looked at the shading article u posted. The approximation is pretty good, however I don''t think implementing the algorithm they describe is necessary. The integral over all their parameters is a good evaluation for nonrealtime systems, but we''re not doing Toy Story 2 here.
So in the case of clouds it actually turns out that you could have a beautiful skybox and not pay a lot for it. Or am I mistaken?
I read most of the posts, sorry if you already addressed this, but I can''t believe how awesome that is, and the only reasons I can think of why other games don''t look that good is either you are a much better programmer or the sky takes too much power.. which one is it?
Posted 20 May 2002 - 04:55 PM
Posted 20 May 2002 - 07:35 PM
Posted 21 May 2002 - 01:59 AM
As you mentioned above, simple movement is easy, you just shift texture coordinates. In fact, you don''t even have to do that, you can simply translate the texture matrix so you don''t have to update the vertex buffers
But what I was trying to tell you, you don''t need to do it every frame. If you look outside, the clouds may move fast but the way they change their shape is relatively slow. Instead of recalculating the change every frame you can recalculate it once per second, even more.
Posted 21 May 2002 - 03:06 AM
Posted 21 May 2002 - 03:17 AM
Depending on what frequency you want, generate a small texture of white noise (16x16) and then just stretch that texture over a larger one (512x512). You're done, the larger texture contains perlin noise done completely in hardware. No speed hit there.
The actual exponentual function can be put into a lookup table that will easily fit into the CPU cache. Still, a large texture (1024x1024) is A LOT of cycles even with the lookup table. If you handoptimize the assembly you can take advantage of pipelining, so your code will run about 20 times faster.
Posted 21 May 2002 - 03:51 AM
Posted 21 May 2002 - 05:24 PM