SkyDome Techniques
Just looking for ideas on how to generate a vertical arc-type cross-section of vertices which, when rotated through 360 degrees form a nice skydome. (or any other effective methods of generating a skydome)
Have you tried using a skybox instead of a dome? It''s much easier to implement and generate textures for. Six texture mapped quads, what could be simpler! I would be interested in hearing why this approach would not work for you.
---
Visit Particle Stream Studios - Home of Europa, Tachyon and winSkin
---
Visit Particle Stream Studios - Home of Europa, Tachyon and winSkin
---Visit InterfaceFX - Home of Europa, Tachyon and winSkin
Hello, Yup I`ve done a SkyBox before but it does`nt suit the project I`m working on (A Yacht racing simulator), I need to be able to represent weather systems realistcally. Skyboxs look fine throught the occassional window in a FPS but they look weird when your world consists only of hundreds of miles of water
Thanks for the response.
Thanks for the response.
Here''s an extract from my skydome code (simplified - hope I didn''t mung it up). This is run once at startup to generate a list of vertices. Note how the Y value is scaled differently than X and Z to make the dome "flatter" (looks more realistic when it''s coloured or textured mapped).
The dome itself is drawn using a triangle fan for the top, then triangle strips for each slice. You only need 10-15 slices and maybe 4 or 5 layers (or rather, that''s all *I* need and it looks great).
I colour each vertex based on things like the time of day, the current "haziness" of the atmosphere, sun position, etc. to achieve realistic day/night looks as well as sunsets and sunrises.
By the way, if the textures for a skybox are done right, it should look pretty good even if you''re out in the middle of the sea with no terrain or other objects around. But for accurately modelling weather, the sun, moon & stars, etc. a dome is the way to go (IMO).
Toom
The dome itself is drawn using a triangle fan for the top, then triangle strips for each slice. You only need 10-15 slices and maybe 4 or 5 layers (or rather, that''s all *I* need and it looks great).
I colour each vertex based on things like the time of day, the current "haziness" of the atmosphere, sun position, etc. to achieve realistic day/night looks as well as sunsets and sunrises.
void buildskydome( void ){ int l, s; float x, y, z, w; for( l = 0; l < LAYERS; l++ ) { y = sin( l * HALFPI / LAYERS ); w = cos( l * HALFPI / LAYERS ); for( s = 0; s < SLICES; s++ ) { x = sin( PI + s * PI2 / SLICES ) * w; z = cos( PI + s * PI2 / SLICES ) * w; vx[LAYERS - (l + 1)][s] = x * 1000; vy[LAYERS - (l + 1)][s] = y * 100; vz[LAYERS - (l + 1)][s] = z * 1000; } }}
By the way, if the textures for a skybox are done right, it should look pretty good even if you''re out in the middle of the sea with no terrain or other objects around. But for accurately modelling weather, the sun, moon & stars, etc. a dome is the way to go (IMO).
Toom
Hey Toom.
We''re all eagerly awaiting this new tutorial about Sky Domes. Sound slike its gonna rock.
Pete
We''re all eagerly awaiting this new tutorial about Sky Domes. Sound slike its gonna rock.
Pete
Don''t know if my skydome stuff will ever be a *tutorial* exactly... It might be, but really I''m doing it for fun as a way to learn OpenGL. So far it looks promising, but by the time I''m finished it may not be practical for anything that requires real time rendering (currently I can get 120+ FPS with it though). I''ll try and post some screen shots and/or a binary soon so you all can see what it looks like.
If I write another tutorial soon it''ll likely be on quadtrees and octrees, which are a fairly natural next step after frustum culling.
Toom
If I write another tutorial soon it''ll likely be on quadtrees and octrees, which are a fairly natural next step after frustum culling.
Toom
I really need an dome which I can specify the radius and height for, any ideas?
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement