srmeier/KnightOnline

Issue with N3Sky not being large enough

Closed this issue · 7 comments

So I believe a lot of people are familiar with this issue

pic00

Turns out if you just make the render billboard larger it fixes this problem.

pic01

Just opening and closing this issue so the solution gets documented.

Hey Stephen,
As I remember when I was going through this, the idea behind creating this billboard was to create an illusion of far plane fog, because the originally pixel and vertex fog wasn't good enough.
What you basically did, is covering the skybox while the position of the billboard was in its correct place. So that doesn't really resolve the issue, as the sky box have different colors from the fog.
I don’t have a setup of the new changes since 1-year I guess, so I'll try to have another look at this, as I always wanted to fix this one and got some time before school starts again.
Will keep this post update if I find anything.

You can still see the breaking line between the sky box and the billboard if you change the camera rotation a bit more up (F9):
capture

So i guess that does the trick? :)
The actual problem here was when we were setting a texture to the billboard with colors using the SetTextureState. The whole idea of the billboard, is to create an illusion of fog, so in order to let the vertices get drawn by the DrawPrimitiveUP, directx is expecting us to use the SetTexture function and we simply set it to null as we don’t need one. The SetFVF diffuse macro in combination with xyz, tells it to spread the colors around the xyz coordinates of the vertices, since each billboard(in this case front and bottom) has 4 corners.
It’s about time for the 12xx clients, no? ^_^
capture

also fixed /time command in server and client, so we can debug the sky or some other stuff(cool sunset ^_^):
capture

@giladre the sunset looks beautiful! Nice job 😄

@SavvyNik Oh my bad..I just realized it's sunrise as i was doing /time 5:25 ^_^

Haha good catch! Now we wouldn't want to be wrong about the time of day since we got a time command lol