Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 22:11

Foren-Übersicht » Sonstiges » Meinungen zu den Projekten
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 111 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5, 6, 7, 8  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 21, 2005 09:36 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Kann mir nicht wirklich vorstellen was das Problem ist. Ich zeichne auf einem Panel. Geht nicht anders. Und die Hintergrundfarbe setze ich mit glClearColor und "zeiche" sie mit glClear. Den Inhalt zeichne ich mit ein paar simplen Quads und Linien. Kann dich nur noch mal darum bitten mir davon mal ein Bild zuzuschicken. Entweder hier oder per Mail. Kann dir bei dem Problem da sonst wirklich nicht helfen. Befürchte aber sowieso, dass es ein Problem durch die Emulation ist und mir da so oder so ein bisschen die Hände gebunden sind.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 21, 2005 12:31 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
In meiner GUI hab ich auch einen Manager der die gesamte GUI verwaltet. Dieser managed auch eine Liste von Fonts (momentan SDL_ttf Fonts). Außerdem hat der Manager eine Methode PrintText() der ich die ID des Fonts übergebe und nen String (und nochn bisl formatangaben). Er zeichnet dann den Text so wie ich das ihm sage.

Könnte man in diese Struktur deine Fontklasse einbauen? Und könnte man das so machen, dass es keine Plattformabhängigen befehle gibt, weder fürs Zeichnen noch fürs laden der Fonts aus einer Datei?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 21, 2005 14:06 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Ich muss gestehen. Da bin ich jetzt ein wenig überfragt. Der größte Code an den Fonts ist die glBitmap. Und ob die Plattformunabhängig ist kann ich nicht sagen. Nicht mal ansatzweise. Wir reden hier aber immernoch über eine Delphi DLL eingebunden in C++, oder?

Da existiert dann sowieso ein ganz anderes Problem. Die OpenGL Funktionspointer müssten irgendwie in die DLL gelangen. Dann muss ich selbstständig eine Textur laden und du kannst das dann nicht im geringsten steuern. Aber das würde die Schnittstelle wohl auch entsprechend aufblasen. Vielleicht wäre ein nativer Support auch das sinnvollste. Oder eher so etwas, dass in die DLL ein Datename oder Binärdaten + Texturgröße + Text reingereicht werden. Und ich reiche dann die Vextex und Texturkoordinaten raus + einen Verschiebung. Dann könntest du dich selber um alles kümmern und wäre sogar von OGL losgelöst.

Zum Thema Struktur. Ich denke mal schon, dass das irgendwie machbar wäre. Möglichkeiten gibt es bekanntlich immer reichlich. Stellt sich mir nur die Frage ob das alles immer Sinn macht und ob es anders nicht einfacher wäre. Möchte das natürlich niemanden vorenthalten aber das ist jetzt aber schon wieder so ein Hammerding. Will da jetzt auch nichts übers Knie brechen. Muss man mal ein bisschen verweilen und einem schon die richtige Idee kommen. War bisher immer so. :-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 21, 2005 14:41 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Konsolenoutput:
Zitat:
err:opengl:wglShareLists Could not share display lists, context already created !


Also wenn ich die Hintergrundfarbe blau einstelle sieht das so aus:

Manachmal wird nicht richtig erkannt wann neu gezeichnet werden muss, etwa wenn man ein Menu oeffnet und dann erkennt man was ueberzeichnet wurde. Habe mal testweise das eine Menu geoffnet (aber nichts weiter gemacht)und so eine nicht ueberzeichnete Stelle erzeugt


Dateianhänge:
glTextSuite.png [8.37 KiB]
102-mal heruntergeladen

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut
Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 21, 2005 15:04 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Lossy eX hat geschrieben:
Ich muss gestehen. Da bin ich jetzt ein wenig überfragt. Der größte Code an den Fonts ist die glBitmap. Und ob die Plattformunabhängig ist kann ich nicht sagen. Nicht mal ansatzweise. Wir reden hier aber immernoch über eine Delphi DLL eingebunden in C++, oder?


Nicht zwangsläufig. Das beste wäre natürlich eine Sprachunabhängige möglichkeit deine Fontklasse zu nutzen. Da bieten sich ja eigentlich nur Wrapper um eine Lib an (oder?). Welche unersetzbaren Funktionen der glBitmap werden denn von der Textsuite genutzt? Ich sag mal: Texturenladen kann ich auch so mit SDL... 8)

Ich bräuchte quasi nur ne Blackbox welche deine Fonttexturen Lädt und analysiert und dann auf kommando einen String ausgibt (an beliebiger Stelle). Ganz einfach... :lol:

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 21, 2005 16:12 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Flo: Wow. Das sieht ja echt krass bescheiden aus. :-/ Funktioniert unter wine der Aufruf von wglShareLists überhaupt? Ich finde es vor allem auch sehr seltsam, dass er sich über die Grenzen seines panels hinaus bewegt. Und sich so auf alles stürzt.

Aber sonst muss ich da so spontan auch erst einmal passen. Es war nicht geplannt, dass dieses Tool auf Linux übersetztbar oder emulierbar sein sollte. Muss auch ehrlich gestehen, dass ich da gerade auch nicht so die Zeit habe da etwas zu suchen. Und irgendetwas dahingeklatschtes nützt auch niemandem wirklich. Dickes Sorry an alle reinen Linuxuser. Denke aber mal, dass ich das Tool noch mal überarbeiten werde und dann werde ich so etwas auch berücksichtigen.

Flash: Ja klar. Nen Wrapper aber wie das ist ja die Frage. ;-)
In der Klasse selber benutze ich derzeit nur die Breite und Höhe des Bildes zum Berechen meiner Koordinaten. Wie, wann und wo ich die Textur mit lade weiß ich selber ja noch nicht so genau. Das kommt noch erschwerend hinzu. ;-) Eigentlich habe ich auch vor die Texturdaten mit in das Font einzubinden. Dann wirste mit SDL nichts mehr machen können. Vor allem dürfte ich so ein paar Formate mehr als SDL unterstützen. Also intere. Alleine mit DDS sind ja die verschiedensten Formate hinzugekommen.

Aber wie gesagt. Ich weiß selber noch nicht wie ich die Texturen laden soll. Nur sollte man sich über so eine Schnittstelle mal genau Gedanken machen. Wenn die ein bisschen was können soll wird die Komplexer als du dir das evtl gerade so vorstellst. Die soll ja dann nicht nur für dich funktionieren. ;-)

Und noch etwas was nicht ganz unwichtig ist. Es sollte evtl auch möglich sein GUI Textur und Font in einer Textur ablegen zu können. So kann man sich die ständigen Texturwechsel sparen. Das Muss natürlich auch irgendwo mit berücksichtigt werden.

Um noch mal ne Anmerkung loszuwerden. Das was bei dem Tool rauskommt ist komplett fertiges Texturfont. Darauf getrimmt, dass man es sehr einfach Laden und benutzen kann. Zu diesem Zeitpunkt wird nichts mehr analysiert etc. Das geschiet alles in dem Tool.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 21, 2005 16:29 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Das heißt, zur Laufzeit kann man die Schriftart gar nicht mehr ändern?

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 21, 2005 16:44 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Wie meinst du das jetzt? Was willst du denn zur Laufzeit daran ändern? Also mal ein konkretes Beispiel.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 21, 2005 16:48 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Angenommen, in unendlichem Größenwahn möchte jemand ein MMORPG programmieren ^^... Weiter angenommen, der Spieler soll sich später die Schrift für das Chat-Fenster frei aussuchen dürfen. Wenn die Font-Texture vorher von deinem Tool generiert werden muss, kann man ja dann später keine andere mehr auswählen, es sei denn, die wäre ebenfalls schon erzeugt.

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 21, 2005 17:17 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Habe fast befürchtet, dass jetzt so etwas kommt. ;-)

Im Endeffekt ist der Analyser auch nur eine Ableitung der Basisklasse. Die Generation der Buchstaben ist allerdings getrennt. Das könnte man aber umbauen und in den Analyser mit einbauen. Damit wäre es dann zum Beispiel auch möglich sich selber solche Schriften zu erzeugen. Also zur Laufzeit.
Problem Nummer 1. Derzeit ist es so, dass ich Windows GDI Benutze. Das müsste man Platzformunabhängig gestalten. Wüsste aber nicht wie!
2. Erzeuge ich intern ein Bild bei dem ALLE Zeichen nebeneinander mit gehörig viel Platz angeordnet sind. Bei größeren Zeichen wird das locker mal eine Breite von 15.000 Pixel. Wage mal zu bezweifeln, dass das überall so ohne weiteres geht.
3. Aus Gründen der GDI muss das derzeit auch ein TBitamp sein. Was dan recht schnell in ein glBitmap gepackt wird.
4. Später habe ich ja auch noch vor ein Kerning zu implementieren, damit der Text ein Homogenes Schriftbild bekommt. Damit das wirklich gut aussehen kann muss man wahrscheinlich selber Hand anlegen. Außer die automatische Generation funkioniert so wie ich mir das gedacht habe. Und wenn dann sollte ich mir das patentieren lassen. ;-) Aber das wäre eine richtige Zeichen für Zeichen Analyse und die dürfte wohl nen moment dauern.
5. Die Größe der generierten Textur muss derzeit noch von Hand angepasst werden. Also wenn sie zu klein sein sollte.
6. Bei der Generation würden die Schriften platt aussehen. Also wie ganz normale Windowsfonts. Ohne irgendwelche Effekte.

Wenn man mit den entsprechenden Einschränkungen leben kann wäre es ohne Frage möglich. Das ein oder andere könnte man umgehen aber auf keinen Fall alles.

Die besten Ergebnisse erzielt man aber natürlich in dem man es selber per Tool macht. Und ist es für das Design so förderlich, wenn jeder seine eigene Schrift auswählen kann? Ich kenne kein Spiel bei dem das möglich ist. Das würde ich wohl eher auf dem Anwendungssektor sehen. Also bei einem OpenGL Chat Client. Oder für normale Anwendungen mit der GUI oder so.

Nur noch mal an Alle. Das Zeugs befindet sich alles noch in der Entwicklung! Das Klassenkonzept steht also keines wegs fest. Das einzige was steht ist die Funktionalität. Wenn man vernünftige und sinnvolle Argumente und oder Vorschläge vorbringt, bin ich gerne bereits diese mit einzubauen. Sofern diese nicht spezielle Problemlösungen darstellen oder nicht unmassen an Zeit verschlingen oder einen sehr geringen Nutzwert haben.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 21, 2005 22:06 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Wie waere es denn wenn du glTextSuite selber mit den Controls United Komponenten realisierst? So als Idee fuer die Zukunft...

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 21, 2005 22:45 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Du wirst lachen. Diese Idee hatte ich auch schon. Und wenn das halbwegs funktioniert, dann ist es nicht nur ziemlich Geil sondern auch gleich eine Feuerprobe und echt geiles Sample für die Controls. Abgesehen davon ist es dann auch ein bisschen platformunabhängig.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Nov 22, 2005 17:54 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Na dann mach es doch ;)

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Nov 23, 2005 19:47 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Wann gibts denn ne version die man nutzen kann? :roll:

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Nov 23, 2005 19:59 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
When it's done ;)

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 111 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5, 6, 7, 8  Nächste
Foren-Übersicht » Sonstiges » Meinungen zu den Projekten


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 16 Queries | GZIP : On ]