Hm, ja sam imao isti problem kad sam se nedavno zezao sa Quake 3 mapama i modelima. U Quake-u X-osa je horizontalna (smer na desno), Y-osa prolazi kroz ekran (smer prema tebi), Z-osa je vertikalna (smer na dole).
Iz ovog sto je yooyo napisao vidim da max i quake imaju izgleda isti koordinatni sistem (pitanje je samo da li je smer osa isti, dok je pravac identican).
Ja sam problem resio na sledeci nachin:
da bih izbegao te rotacije celo vreme dok se izvrsava program, za vreme startup-a sam jednim prolazom kroz sve vertexe, normale... swapovao njihove koordinate na sledeci nachin:
Code:
void Swap(VECTOR* v)
{
double tmp = v.y;
v.y = v.z;
v.z = -tmp;
}
Ovim sam transformisao quake koordinatni sistem u OpenGL koordinatni sistem.
Znachi ako je smer osa u max-u takav kakav sam gore opisao onda mozes koristiti ovu funkciju da ovavi posao, a ako nije onda je mozes na trivijalan nacin prilagoditi svojim potrebama.
Uvek sam se pitao zasto quake koristi tako glup koordinatni sistem i evo citajuci ovaj topic sam shvatio da nisu jedini...
Ili su mozda koristili max dok su pravili igru ;)
Q: Are there really any systems where
void main() doesn't work?
A: It has been reported that programs using void main() can crash.
Q: The book I've been using, _C Programing for the Compleat Idiot_,
always uses void main().
A: Perhaps its author counts himself among the target audience.