Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Schrift wird abgehackt OpenGl (https://www.delphipraxis.net/115751-schrift-wird-abgehackt-opengl.html)

EWeiss 17. Jun 2008 13:39


Schrift wird abgehackt OpenGl
 
Liste der Anhänge anzeigen (Anzahl: 1)
Bei 2 Plugins wird die Fontbreite nicht richtig dargestellt
Woran könnte das liegen.

Plugin ohne Texture und quadric objecte

gruss Emil

littleDave 17. Jun 2008 14:40

Re: Schrift wird abgehackt OpenGl
 
Ein paar mehr Informationen wären hilfreich: Wie renderst du den Text (welche Methode: Bitmap-Fonts, wglUseFontOutlines ...)?
Ist das auch so, wenn du keinen Italic-Font-Style benutzt?

EWeiss 17. Jun 2008 14:46

Re: Schrift wird abgehackt OpenGl
 
Zitat:

Zitat von littleDave
Ein paar mehr Informationen wären hilfreich: Wie renderst du den Text (welche Methode: Bitmap-Fonts, wglUseFontOutlines ...)?
Ist das auch so, wenn du keinen Italic-Font-Style benutzt?

Ich benutze diese methode
http://www.delphipraxis.net/internal...=903592#903592

und Rendere den Text von einem Bitmap Font

gruss Emil

littleDave 17. Jun 2008 14:52

Re: Schrift wird abgehackt OpenGl
 
Das ist zwar kein Bitmap-Font, wie ich ihn meine, aber nicht so schlimm.

Du benutzt die Windows-Methode, die eine OpenGL-DisplayList mit den einzelnen Buchstaben füllt. Diese Methode ist nicht für Italic-Fonts geeignet, da (wie du selbst gerade siehst ;-)) die Schriftbreite nicht stimmt.

Ich weiß nicht ob es funktioniert aber du kannst mal folgendes Probieren:
Aktiviere vor dem Zeichnen das Blending und setzt mal den Blending-Mode auf folgendes:
Delphi-Quellcode:
glBlendFunc(GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR);
Ich weiß nicht ob das funktioniert, vielleicht musst noch noch mit den Blending-Parametern etwas rumspielen :?

EWeiss 17. Jun 2008 15:19

Re: Schrift wird abgehackt OpenGl
 
Boahh ;)
Delphi-Quellcode:
glBlendFunc(GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR);
Funktioniert auf anhieb :)


Delphi-Quellcode:
     
glEnable(GL_TEXTURE_2D);
glBlendFunc(GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR);
glEnable(GL_BLEND);
Dein wissen über OpenGl möchte ich gerne haben, Daumen hoch

EDIT:
40 FPS in Xp für OpenGl 1280x1024 ist das gut ?

gruss Emil

littleDave 17. Jun 2008 15:39

Re: Schrift wird abgehackt OpenGl
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von EWeiss
Dein wissen über OpenGl möchte ich gerne haben, Daumen hoch

Danke für die Blumen :) aber das war jetzt fast kein OpenGL-Wissen. Ich hab mir dein Screenshot genau angeschaut und hab bemerkt, dass der letzte Buchstabenteil vom Quad des neuen Buchstabens überschrieben wird (im Anhang hab ich es nochmal versucht zu verdeutlichen). Da hab ich mir einfach überlegt, wie man das "übermalen" verhinden kann -> GL_BLEND. Die Parameterauswahl kommt dann einfach nur aus Erfahrung.

Zitat:

Zitat von EWeiss
40 FPS in Xp für OpenGl 1280x1024 ist das gut ?

Ich weiß ja nicht, was bei den 40 FPS alles mitspielt. Für eine flüssige Darstellung reichts auf jeden Fall ;), aber ich denke, dass du nur zeichnest, wenn neue Werte des Sound-Outputs gekommen sind (FFT-Werte [heißen die so ??]). Von daher ist nicht OpenGl das begrenzende sondern eher die Zeit, in der die neuen Werte kommen. Wahrscheinlich kommst du locker auf 60 FPS. Was auch noch eine große Rolle spielt ist natürlich die Grafikkarte.
Was hast du den für eine CPU-Auslastung? - obwohl das auch nicht wirklich representativ ist, ja da der komplette Sound-Output sowie die Verarbeitung der auch noch von der CPU mitberechnet werden müssen. Ein sehr gutes Zeichen ist, wenn du mit 640x480 die gleichen FPS-Werte wie bei 1280x1024 hast. Dann weißt du sicher, dass die 40 Bilder pro Sekunde nicht von der Grafikkarte sondern von anderen Faktoren beeinflusst wird.

// Edit: Anhang vergessen :oops:

EWeiss 17. Jun 2008 15:45

Re: Schrift wird abgehackt OpenGl
 
hab da noch nen Thread aufgemacht wegen den Frames
da es mir wichtig ist die exakten werte zu ermitteln..

gruss Emil


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:53 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