OpenGL limits, and time-based sequencing
Posted: 18.09.2004, 08:55
Greetings to all,
This is my first participation on this forum, so bear with me as I do have some questions about Celestia development.
Needless to say, I find the software completely astonishing! But I'm interested in a few subjects, that might have been already addressed.... I've been trying to follow some earlier posts, but without success.
I'm also quite new to Astronomy, so apologize if I say some mistake (and please correct).
My questions/suggestions follows:
1) About the OpenGL depth problem (limiting star viewing): Suppose this (simplified) cenario:
I'm at point A, T units away from C, (not) "looking" at object at point B which is beyond the oGL/coordinate limit in K=10 units (suppose that the center of the coordinate system is point C).
Now the equations can be something like this (A to B distance - X - is not known, the limit is L units):
B = L + K , distance vector is BC
A = T , distance vector is AC
Now using projections we can estimate the intersection between BC and the perpendicular of it that crosses A (lets call that intersection point as P).
Using Pythagoras, it's easy to calculate the distance between A to B (X).
At this point we have all the data to convert a unique-centered coordinate system to a moving-projected coordinate system - which would be projected on the observer.
1.1) Since this involves Floating Point calculations, accuracy and performance will probably drop, but it still can be optimized for a) accuracy and b) speed of calculation.
1.2) This might solve the oGL/coordinate system problem and introduce a new concept for another thread: See 2).
2) Setting a relative coordinate system at the observer would allow to clip images beyond the L range from the observer starting point. Still, all objects coordinates should be defined relatively to C. However, this introduces the concept of moving objects, instead of moving camera. While I'm virtually walking ahead, the objects are being really pushed back (as in a FPS game).
But since we can have multiple referencials (coordinate systems), we can map individual objects within a planet, using its relative coordinate system.
Also consequently, we can have a huge database without degrading performance.
3) I wonder why the user manual is in MSWord format... any special reason? I would prefer viewing it in OpenOffice native format, as I have both Windows and Linux versions. Or, at least, a PDF version. Of course, the best would be, perhaps, SGML. Anyway, HTML could be used by KDE/GNOME help systems, I think.
4) Also, I don't know if it's possible to record facts. It would be nice to celestia to allow a sequence of events to occur, so that we could reproduce History. Things like triggering events (speed, angles, etc) based on time.
I do have other questions, I'll post them later. I'm sorry if I did not say anything new, I just wanted to make sure everyone here has thought of these issues.
This is my first participation on this forum, so bear with me as I do have some questions about Celestia development.
Needless to say, I find the software completely astonishing! But I'm interested in a few subjects, that might have been already addressed.... I've been trying to follow some earlier posts, but without success.
I'm also quite new to Astronomy, so apologize if I say some mistake (and please correct).
My questions/suggestions follows:
1) About the OpenGL depth problem (limiting star viewing): Suppose this (simplified) cenario:
I'm at point A, T units away from C, (not) "looking" at object at point B which is beyond the oGL/coordinate limit in K=10 units (suppose that the center of the coordinate system is point C).
Now the equations can be something like this (A to B distance - X - is not known, the limit is L units):
B = L + K , distance vector is BC
A = T , distance vector is AC
Now using projections we can estimate the intersection between BC and the perpendicular of it that crosses A (lets call that intersection point as P).
Using Pythagoras, it's easy to calculate the distance between A to B (X).
At this point we have all the data to convert a unique-centered coordinate system to a moving-projected coordinate system - which would be projected on the observer.
1.1) Since this involves Floating Point calculations, accuracy and performance will probably drop, but it still can be optimized for a) accuracy and b) speed of calculation.
1.2) This might solve the oGL/coordinate system problem and introduce a new concept for another thread: See 2).
2) Setting a relative coordinate system at the observer would allow to clip images beyond the L range from the observer starting point. Still, all objects coordinates should be defined relatively to C. However, this introduces the concept of moving objects, instead of moving camera. While I'm virtually walking ahead, the objects are being really pushed back (as in a FPS game).
But since we can have multiple referencials (coordinate systems), we can map individual objects within a planet, using its relative coordinate system.
Also consequently, we can have a huge database without degrading performance.
3) I wonder why the user manual is in MSWord format... any special reason? I would prefer viewing it in OpenOffice native format, as I have both Windows and Linux versions. Or, at least, a PDF version. Of course, the best would be, perhaps, SGML. Anyway, HTML could be used by KDE/GNOME help systems, I think.
4) Also, I don't know if it's possible to record facts. It would be nice to celestia to allow a sequence of events to occur, so that we could reproduce History. Things like triggering events (speed, angles, etc) based on time.
I do have other questions, I'll post them later. I'm sorry if I did not say anything new, I just wanted to make sure everyone here has thought of these issues.