![]() |
OpenGL undefinierbare zeichen
Habe das KaraGL Projekt auf Playliste umgestellt.
Erst jetzt habe ich bemerkt das nach dem abspielen des ersten Titel (alles normal) beim zweiten undefinierbare Zeichen auftreten. Es sieht so aus als wenn hier in der Scenen an x-beliebiger position ein Gleichheitszeichen gezeichnet wird. Und 1-3 Chars ersetzt. Ich finde einfach nicht den ansatzpunkt woran das liegen könnte. Es gibt einen crosspost auf DGL .. da scheint aber niemand einen Rat für mich zu haben. Vielleicht hatte ja hier schon mal jemand mit einem ähnlichen problem zu kämpfen. Im anhang kann man mein problem erkennen. Das "=" Zeichen :) Es werden alle Arrays diesbezüglich ordnungsgemäß gelöscht hilf aber alles nichts. Keine Ahnung wo das Teil herkommt. gruss |
AW: OpenGL undefinierbare zeichen
Versuchs mal mit Textsuite. Das ist eigentlich ganz einfach zu verstehen und läuft stabil.
|
AW: OpenGL undefinierbare zeichen
Mir fehlt hier eine wichtige Information:
Wie renderst du den Text denn genau über OGL? Hab mir dein "KaraGL" gerade angeschaut, da sind ja aber die Sourcen nicht dabei. Muss ja auch nicht, aber ich denke, da hat sich irgendwo ein ungültiges Zeichen / Index eingeschlichen, der dann als "=" ausgegeben wird, weil die Fontmap "übergelaufen" ist....oder etwas ganz anderes :-) Kommt ja ganz drauf an, wie du den Text genau renderst. |
AW: OpenGL undefinierbare zeichen
@Jens01
Verwende ich ja aber nicht für CallList habe keine Informationen darübergefunden das es damit funktioniert.
Delphi-Quellcode:
Wie soll ich hier die einzelnen Chars die an Calllist "ListsLyricsFont" übergeben werden
glNewList(ListsgLyrics + cardinal(cnt), GL_COMPILE);
if (gLyrics[cnt].translatex < 0.0) then glTranslated(gLyrics[cnt].translatex, gLyrics[cnt].translatey, 0); for charcnt := 0 to Length(s) -1 do begin temp := copy(s, charcnt + 1, 1); tempc := temp[1]; lineWidth := lineWidth + gmfLyrics[ord(tempc)].gmfCellIncX; glCallList(ListsLyricsFont + ord(tempc)); end; glEndList; mit der TextSuite implementieren.? @blackfin Ich benutze wglUseFontOutlines und habe dafür extra nochmal ne neue Funktion geschrieben die einen stinknormalen TFont anstelle CreateFont verwendet.
Delphi-Quellcode:
An der erstellung des Fonts dürfte es auch nicht liegen.
procedure GenerateFontLists(Face: PWideChar; Styles: TFontStyles;
out listsID: GLuint; deviation: single; var gmf: GLYPHMETRICSFLOAT); var CustomFont: TFont; begin CustomFont:= TFont.Create(); CustomFont.Name:= Face; CustomFont.Style := Styles; SelectObject(h_DC, CustomFont.Handle); listsID:= glGenLists(256); wglUseFontOutlines(h_DC, 0, 255, listsID, deviation, (Settings.fontDepth / 100), WGL_FONT_POLYGONS, @gmf); CustomFont.free; end; Die habe ich alle Durchgeprüft und bei allen das gleiche. Was ich jedoch festgestellt habe das dieses Zeichen nichts mit "=" zu tun hat. Denn nach einem Resitz des Freiraums zwischen den Zeilen positioniert sich mein TextBlock wieder auf die richtige stelle. Dann wird mir auch der Text angezeigt der eigentlich an der Stelle von "=" sitzt aber Riesengroß ;) Siehe Shot wenn keine lösung gefunden ab in die Tonne EDIT: Hat sich erledigt das Thema trotzdem danke für die Ratschläge. gruss |
AW: OpenGL undefinierbare zeichen
|
AW: OpenGL undefinierbare zeichen
Zitat:
Ich verwende das schon seit Jahren ;) Auf Bitmap Fonts ausgelegt.. Und ich verwende Outline für den LiedText Ausgenommen FPS. Zeit, Misc da wird TextSuite verwendet. gruss |
AW: OpenGL undefinierbare zeichen
Ahh.. hatte das anders verstanden..
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz