-
Hallo
ich habe vor mit OpenGL Text darzustellen. Das Problem ist nur, kann OpenGL (am besten mit GPU-Unterstützung) viel Text in unterschiedlichen Schriftarten darstellen? Oder ist die API mehr auf allgemeine Grafiken (Dreiecke,...) ausgerichtet?
Kann ich auf diese Texte auch Shader ausüben?
Ich habe übrigens schon gehört dass man nur die Standardschriftart von OpenGL (****?) benutzen kann. Wie kann man dieses Problem am besten umgehen?
-
Hallo,
Grundsätzlich bietet dir OpenGL KEINE Unterstützung für Font-Rendering. Wenn man sowas brauchst kann man aus den Fonts mittels z.B.: freetype Texturen erstellen, und diese dann auf Quads rendern. Da es sich dann um normale Geometrie handelt kannst du natürlich auch Shader darauf anwenden.
-
Danke.
noch eine Frage die Richtung OpenGL geht:
gibt es denn eigentlich eine Begrenzung was die Anzahl an OpenGL-Contexten (also wieviele Fenster mit OpenGL) angeht?
-
Hallo,
Das ist Betriebssystemabhängig, eine genaue Anzahl weiß ich leider auch nicht. Aus Erfahrung kann ich dir sagen, das man sowohl unter Ubuntu als auch unter Win7 50 haben kann ohne Probleme zu kriegen.
Empfehlen würde ich das aber nicht, da jeder wechsel des aktuell verwendeten Contexts die Grafikpipeline flushed, was ziemlich inperformant wird.
-
Wird dann praktisch bei jedem Context den ich aufrufe (zum Beispiel beim Zeichnen) die Grafikpipeline geräumt und der aktuelle Context gezeichnet? Und wenn ich den selben Context zeichnen will bleibt dieser in der Grafikpipeline?
Bitte verbessert mich wenn ich da was falsch verstanden habe. Bin leider noch nicht der Profi in OpenGL
-
Naja, ein Kontext speichert alle Informationen über den Zustände von OpenGL, zum Beispiel alles was du mit glEnable/Disable setzt. Wenn du jetzt entweder manuel (wglMakeCurrent) oder automatisch durch Prozesswechsel auf der CPU einen anderen Kontext aktivierst müssen zuerst alle Befehle die noch in der Befehlsqueue des letzen Kontext sind abgearbeitet werden, dann alle Einstellungen auf die des neuen gesetzt werden, und erst dann kannst du in den neuen zeichnen.
Meistens wird es so sein, dass du pro Prozess einen Kontext haben wirst, ausgenommen du musst in mehrere verschiedenen Fenster rendern. Daher bleibt der Renderkontext immer aktiv.bei jedem Context den ich aufrufe (zum Beispiel beim Zeichnen)
-
wäre es dann theoretisch auch möglich von verschiedenen Fenstern aus auf einen Context zuzugreifen und in diesem die neue Befehlsqueue abzuarbeiten?
-
Hallo,
Zugreifen ja, aber das Zielfenster auf das gerendert wird kann immer nur das sein, auf dem der Context erstellt worden ist.
-
ist es denn nicht möglich den Context freizustellen? also nicht fenstergebunden?
Ich meine dass ich einfach sagen kann der Context soll jetzt in diesem Fenster zeichnen und später in einem anderen Fenster.
-
Unter Windows glaub ich nicht.
-
und unter anderen betriebssystemen? oder ganz ohne Fenster? zum Beispiel dass ich mir mein Fenster von OpenGL zeichnen lasse?
Noch ne Frage nebenbei: braucht man für OpenGL eigentlich noch extra Treiber oder ist OpenGL selbst der Treiber oder beinhaltet den Treiber?
Edit:
Achja noch eine Frage: Wie verarbeitet denn eigentlich eine Grafikkarte mehrere Bildschirme? Ich meine Softwaretechnisch, wie kann ich auf einen oder den 2. bildschirm (oder 3. ...)zugreifen?Geändert von fbfeix (26.09.11 um 17:07 Uhr)
-
Hallo,
Unter anderen Betriebssystemen keine Ahnung.
OpenGL-DLL wird vom Grafikkartentreiber mitinstalliert, sonst brauchst du nichts
Zum Edit: Unter Windows "gehört" ein Fenster immer der Grafikkarte auf deren Monitor das Fenster erstellt wurde. Welcher Monitor zu welcher Karte gehört kann man einfach daran sehen wo der Monitor angesteckt ist.
Wenn du OpenGL startest (im Fullscreen) wird automatisch der Hauptbildschirm dafür verwendet. Mehrere Anwendungen gleichzeit im Fullscreen auf verschiedenen Bildschirmen geht meines Wissens nach nicht. Wenn die Anwendungen nicht Fullscreen sind, dann gilt was oben beschrieben wurde.
-
ist dieser treiber denn eigentlich von der Produktion weg auf der Karte?
und wie verläufts sichs wenn ich nur eine Karte aber 2 Monitore daran angeschlossen habe?
-
Der Treiber ist nicht auf der Karte,sondern auf der Festplatte...
aber ja; die Unterstützung auf Kartenseite muss von Anfang an eingebaut sein.Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
Das ist wieder Hersteller abhängig.und wie verläufts sichs wenn ich nur eine Karte aber 2 Monitore daran angeschlossen habe?
Was hast du denn überhaupt vor, dass du solche Informationen brauchst?
Ähnliche Themen
-
Darstellung eines Balkendiagrammes aus einer 2-zeiligen Text-Datei
Von tbgeeee im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 9Letzter Beitrag: 05.01.07, 19:22 -
Falsche Darstellung von eingelesenen Text
Von dobermant im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 17.12.06, 14:14 -
Darstellung von Grafik und Co, wenn man Text mit Maus überfährt
Von ff_fan im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 21.07.06, 20:21 -
hp mit html und css=richtige darstellung hp mit php und css=falsche Darstellung
Von Briefkasten im Forum CSSAntworten: 2Letzter Beitrag: 29.07.05, 15:21 -
Frage zur Darstellung von Text
Von Gayson im Forum Flash PlattformAntworten: 3Letzter Beitrag: 26.03.04, 13:42



1Danke

Zitieren

Login






