habe leider ein etwa gleiches problem mit dem Font
habe es umgestellt funktioniert aber nicht da die Matrix zweimal geändert wird
in der gleichen procedure.
Delphi-Quellcode:
procedure glPrintBitmap(x, y : GLFloat; text : pchar; fontset : GLint);
begin
glPushAttrib(GL_ALL_ATTRIB_BITS);
try
if (fontset>1) then fontset :=1;
glBindTexture(GL_TEXTURE_2D,fontset); // Select Our Font Texture
glDisable(GL_DEPTH_TEST); // Disables Depth Testing
// 1 mal geändert
glMatrixMode(GL_PROJECTION); // Select The Projection Matrix
glPushMatrix(); // Store The Projection Matrix
glLoadIdentity(); // Reset The Projection Matrix
glOrtho(0,640,0,480,-100,100);
glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix
glPushMatrix(); // Store The Modelview Matrix
glLoadIdentity(); // Reset The Modelview Matrix
glTranslated(x,y,0); // Position The Text (0,0 - Bottom Left)
glListBase(base - 32 + (128 * cardinal(fontset))); // Choose The Font Set (0 or 1)
glCallLists(strlen(text),GL_BYTE,text); // Write The Text To The Screen
// 2 mal geändert
glMatrixMode(GL_PROJECTION); // Select The Projection Matrix
glPopMatrix(); // Restore The Old Projection Matrix
glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix
glPopMatrix(); // Restore The Old Projection Matrix
glEnable(GL_DEPTH_TEST); // Enables Depth Testing
finally
glPopAttrib;
end;
end;
Delphi-Quellcode:
procedure HoldMatrixFontMode(x, y : GLFloat; text : pchar; fontset : GLint);
var
iMatrixMode : integer;
begin
glGetIntegerv(GL_MATRIX_MODE, @iMatrixMode);
glMatrixMode(GL_PROJECTION);
glPushMatrix;
try
glPrintBitmap(x, y, text, fontset);
finally
glMatrixMode(GL_PROJECTION);
glPopMatrix;
glMatrixMode(iMatrixMode);
end;
end;
kannst mir nochmal nen tip geben wie ich das hin bekomme ?
Aufruf..
HoldMatrixFontMode(10, 13, SongName, 1);
EDIT:
Von Text kann man da nicht sprechen..
Hat sich erledigt ...
gruss Emil