Hi,
ich bastle gerade an 'nem kleinem Projekt.
Dabei wollte ich "normalen" Text im 3D-Raum darstellen, was leider nicht so klappen möchte. (siehe Anhang)
Zur "Umrechnung" von 3D zu 2D nutze ich
gluProject() was ja die Koordinaten liefern soll, doch leider
ist der Text bzw. die 2D-Koordinaten versetzt.
Delphi-Quellcode:
procedure Get2DCoordFrom3D(Pos3D: TVector_3d; var Pos2D: TVector_3d);
var
modelMatrix: array [0..15] of GLdouble;
projMatrix: array [0..15] of GLdouble;
viewport: array [0..3] of glint;
xyz2D: array [0..3] of GLdouble;
begin
glGetDoublev(GL_MODELVIEW_MATRIX, @modelMatrix);
glGetDoublev(GL_PROJECTION_MATRIX, @projMatrix);
glGetIntegerv(GL_VIEWPORT, @viewport);
gluProject(
Pos3D.X,
Pos3D.Y,
Pos3D.Z,
@modelMatrix,
@projMatrix,
@viewport,
xyz2D[0],
xyz2D[1],
xyz2D[2]
);
Pos2D.X := xyz2D[0];
Pos2D.Y := xyz2D[1];
Pos2D.Z := xyz2D[2];
end;
Wer kann helfen ?