Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
Delphi 6 Personal
|
AW: [OpenGL] - Text im 3D darstellen klappt nicht so recht...
13. Jun 2011, 16:40
Also ich nutze gluLookAt() als Kamera, die Planeten werden per glTranslatef() auf die Koordinaten gesetzt die ich berechnet habe.
Delphi-Quellcode:
// Planeten Positionen berechnen
for i := 1 to length(Planets) - 1 do
begin
Planets[i].Pos.X := sin(tc/Planets[i].rot) * Planets[i].distance;
Planets[i].Pos.Y := 0;
Planets[i].Pos.Z := cos(tc/Planets[i].rot) * Planets[i].distance;
end;
Delphi-Quellcode:
for i := 1 to length(Planets) - 1 do
begin
glPushMatrix;
glTranslatef(Planets[i].Pos.X, Planets[i].Pos.Y, Planets[i].Pos.Z);
if (mnuSelect > 0) and (mnuSelect = i) then
begin
Get2DCoordFrom3D(Planets[i].Pos, xPos);
glBindTexture(GL_TEXTURE_2D, Textures[Planets[i].Texture]);
glPushMatrix;
if i <> 7
then glRotatef(gtc / Planets[i].selfRot, 0,1,0)
else glRotatef(gtc / Planets[i].selfRot, 1,0,0); // Uranus
glPushMatrix;
case i of
6: glRotatef(83, -1,0,0); // Saturn
7: glRotatef(90, 0,1,0); // Uranus
else glRotatef(90, -1,0,0);
end;
gluSphere(qoSphere, Planets[i].radius, 32, 32);
glPopMatrix;
|
|
Zitat
|