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

Aktuelle Zeit: Fr Jul 18, 2025 15:54

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 44 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 15, 2008 17:14 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mär 05, 2007 17:46
Beiträge: 42
Alexander hat geschrieben:
hmmm Lazarus hat das Problem nur manchmal......
hmmm seltsam.....
ich muss noch ausprobieren....
Langsam bekomme ich Klarheit:
Es ist so, dass ich erst vor ganz kurzem von Lazarus 0.9.24 auf 0.9.25 (aus SVN) umgestiegen bin. Anscheinend hat Lazarus von iso8859-1 auf UFT8 umgestellt, weshalb ich manchmal (bei verschiedenen Units mit verschiedener Kodierung) verschiedene Ergebnisse bekommen habe.
(Was würde man nur ohne Kate machen, in dem man das so schön einstellen kann)

Ja und anscheinend ist es so, dass glut nur iso8859-1 (uä.) verarbeitet und deswegen die eingaben von dem (jetzigen) utf8 Standart in Lazarus falsch dargestellt wird.
Die eingabe des Characters klappt hingegen.

Leider klappt Utf8ToAnsi nicht, was ja eigentlich genau das machen sollte.....


Praktisch bleibt mir nichts anderes übrig als meine "Notfunktion" zu nutzen, die die Umlaute als char einbindet.

Whmmm wie mache ich das mit Textsuite?
EDIT: WOW die Samples sind cool, ich schaue mir mal den code an.
hmmm das ist alles für Delphi, kann ich das auch in Lazarus verwenden?


Gruß Alexander

_________________
"Weil", so schließt er messerscharf,
"nicht sein kann, was nicht sein darf." :)

Besuch doch mal: http://www.alexanderroth.eu


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 15, 2008 17:45 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Alexander hat geschrieben:
hmmm das ist alles für Delphi, kann ich das auch in Lazarus verwenden?

Ja :D

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 15, 2008 18:29 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mär 05, 2007 17:46
Beiträge: 42
i0n0s hat geschrieben:
Alexander hat geschrieben:
hmmm das ist alles für Delphi, kann ich das auch in Lazarus verwenden?

Ja :D
das ist super. Muss ich ausprobieren.

_________________
"Weil", so schließt er messerscharf,
"nicht sein kann, was nicht sein darf." :)

Besuch doch mal: http://www.alexanderroth.eu


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 18, 2008 09:47 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mär 05, 2007 17:46
Beiträge: 42
hmmm also ich bekomme ein paar fehlermeldungen:
Zitat:
Compiling /home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuite.pas
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuite.pas(38,14) Hint: Type "PPointer" redefinition
Compiling /home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas
Compiling /home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteWideUtils.pas
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteWideUtils.pas(937,3) Hint: Function result variable does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteWideUtils.pas(968,12) Error: Unknown identifier "EAX"
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteWideUtils.pas(968,14) Error: Unknown identifier "EAX"
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteWideUtils.pas(969,9) Error: Assembler syntax error in operand
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteWideUtils.pas(969,10) Error: Assembler syntax error in operand
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteWideUtils.pas(971,3) Fatal: Syntax error, ";" expected but "identifier MOV" found

_________________
"Weil", so schließt er messerscharf,
"nicht sein kann, was nicht sein darf." :)

Besuch doch mal: http://www.alexanderroth.eu


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 18, 2008 10:32 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Hast du einen 64 Bit Compiler?

Aber geh mal in die Datei TextSuite.inc und entferne bei {.$define TS_PURE_PASCAL} bitte den Punkt. Denn die Fehler die er da anmeckert sind Assembler Befehle bzw Register.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 18, 2008 10:53 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mär 05, 2007 17:46
Beiträge: 42
ja ubuntu 8.01 64bit

nach enterfnen des Punktes kommt:
Zitat:
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(1675,9) Error: Unknown identifier "AL"
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(1675,16) Error: Unknown identifier "BYTE"
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(1675,20) Error: Assembler syntax error in operand
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(1675,24) Error: Unknown identifier "EAX"
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(1675,24) Error: Assembler syntax error in operand
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(1841,3) Hint: Local variable "RedFunc" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(1842,3) Hint: Local variable "GreenFunc" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(1843,3) Hint: Local variable "BlueFunc" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(1844,3) Hint: Local variable "AlphaFunc" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(1845,3) Hint: Local variable "LuminanceFunc" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(1893,3) Hint: Local variable "RedFunc" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(1894,3) Hint: Local variable "GreenFunc" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(1895,3) Hint: Local variable "BlueFunc" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(1896,3) Hint: Local variable "AlphaFunc" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(1897,3) Hint: Local variable "LuminanceFunc" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2003,7) Hint: Local variable "Format" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2021,11) Hint: Local variable "Image" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2057,5) Hint: Local variable "pImage" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2306,98) Hint: Local variable "Advance" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2306,98) Hint: Local variable "GlyphHeight" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2306,98) Hint: Local variable "GlyphWidth" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2306,98) Hint: Local variable "GlyphOriginY" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2306,98) Hint: Local variable "GlyphOriginX" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2675,41) Hint: use DIV instead to get an integer result
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2680,37) Hint: use DIV instead to get an integer result
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2682,37) Hint: use DIV instead to get an integer result
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2688,37) Hint: use DIV instead to get an integer result
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2690,37) Hint: use DIV instead to get an integer result
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2809,90) Hint: Local variable "MaxY" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2809,90) Hint: Local variable "MinY" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2809,90) Hint: Local variable "MaxX" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2809,90) Hint: Local variable "MinX" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2851,3) Hint: Local variable "LogFont" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2903,7) Hint: Local variable "Buffer" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2920,36) Hint: Local variable "TextMetric" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(2946,69) Hint: Local variable "OutTextMetric" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(3027,3) Hint: Local variable "Metric" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(3039,5) Hint: Local variable "pBuffer" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(3127,3) Hint: Local variable "Metric" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(3139,5) Hint: Local variable "pBuffer" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(3188,36) Hint: Local variable "TextMetric" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(3213,7) Hint: Local variable "GCPRes" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(3271,107) Warning: Local variable "Metric" does not seem to be initialized
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(3295,54) Hint: use DIV instead to get an integer result
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(3297,48) Hint: use DIV instead to get an integer result
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(3300,42) Hint: use DIV instead to get an integer result
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(3652,59) Hint: use DIV instead to get an integer result
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(4659,49) Hint: use DIV instead to get an integer result
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(4660,49) Hint: use DIV instead to get an integer result
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(4664,51) Hint: use DIV instead to get an integer result
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(4665,51) Hint: use DIV instead to get an integer result
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(4669,51) Hint: use DIV instead to get an integer result
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(4670,51) Hint: use DIV instead to get an integer result
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(4674,50) Hint: use DIV instead to get an integer result
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(4675,50) Hint: use DIV instead to get an integer result
/home/alexander/meine-Installierten-Programme/lazarus/components/TextSuite_0.0.0_linux_source/source/TextSuiteClasses.pas(5499) Fatal: There were 5 errors compiling module, stopping

_________________
"Weil", so schließt er messerscharf,
"nicht sein kann, was nicht sein darf." :)

Besuch doch mal: http://www.alexanderroth.eu


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 18, 2008 11:32 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Ja okay. Unter 64 Bit habe ich es nie getestet. Deswegen gebe ich jetzt mal keine Garantie darauf, ob es funktionieren wird oder nicht.

Und zu dem Fehler. Da habsch wohl einen Assembler vergessen. ;) Ich wollte dir eigentlich gerade eine veränderte Version der Datei anhängen aber ich habe noch ein paar Dinge angepasst die zu dem Rest nicht kompatibel sind. Deswegen gerade nur so flickerei. :/

Geh mal bei der Datei TextSuiteClasses.pas in die Zeile 1675. Und ersetze die Methode BlurFuncIgnore durch folgendes.

Code:
  1. function BlurFuncIgnore(pSource: pByte; var Data: TtsImageBlurFuncData): Byte; register;
  2. {$ifdef TS_PURE_PASCAL}
  3. begin
  4.   Result := pSource^;
  5. {$else}
  6. asm
  7.   mov al, byte ptr [eax]
  8. {$endif}
  9. end;


PS: Mittlerweile kann mein System ja auch 64 Bit. Muss ich selber mal ausgiebig testen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 18, 2008 11:37 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mär 05, 2007 17:46
Beiträge: 42
jetzt klappts.
Könntest du vielleicht diese veränderungen aufnehemn und eine (wenn nötig) etra Version für 64 bit auf deiner Homepage zum Download bereitstellen, damit auch andere Leute mein Programm (mit deiner textsuite) ohne Probleme kompilieren können?
Das wäre nett.

Vielen Dank für die schnelle Hilfe
Gruß Alexander

_________________
"Weil", so schließt er messerscharf,
"nicht sein kann, was nicht sein darf." :)

Besuch doch mal: http://www.alexanderroth.eu


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 18, 2008 11:45 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Die Änderung hätte eigentlich schon von Anfang an drinne sein sollen. ;) Aber jetzt ist sie ja drin. Danke fürs aufdecken.

Ich denke ich werde es für 64 Bit auch so machen, dass der Assemblercode dann automatisch deaktiviert wird. Bzw solange wie ich er nicht 64 Bit kompatibel ist.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 18, 2008 11:54 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mär 05, 2007 17:46
Beiträge: 42
so ich bin jetzt mir eine einfache Klasse (TOGLabel) am erstellen die alles mögliche kapselt und ich es einfach habe es aufzurufen.
kann dauern, aber wenn es euch interessiert (und ich es hinbekommen habe) kann ich die klasse dann auch reinstellen.

Gruß Alexander

PS: Soll keine Kritik sein an textsuite, soll lediglich so werden, das ich beim zeichnen nur noch header.draw aufrufen muss und diese Instanz von TOGLLabel macht dannn alles was mit textsuite zu tun hat.


hmmm was macht das?
Code:
  1.   tsContextCreate(@gContextID);
  2.  


muss ich die ttf immer dazugeben? Gibt es plattformunabhängige Schriften, die überall da sind? Wenn ja wie greife ich auf diese zu?

_________________
"Weil", so schließt er messerscharf,
"nicht sein kann, was nicht sein darf." :)

Besuch doch mal: http://www.alexanderroth.eu


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 18, 2008 12:08 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Du kannst einfach eine freie Schrift (beispielsweise DejaVu) runterladen und immer mit deiner Anwendung weitergeben.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 18, 2008 12:20 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Alexander hat geschrieben:
PS: Soll keine Kritik sein an textsuite, soll lediglich so werden, das ich beim zeichnen nur noch header.draw aufrufen muss und diese Instanz von TOGLLabel macht dannn alles was mit textsuite zu tun hat.

Keine Sorge. Die Bibliothek ist bewusst als Mid-Level konzipiert. Also so ähnlich wie OpenGL. Also es steht dir vollkommen frei sie zu kappseln wie du magst. ;)

Zum Aufbau kann ich dir folgende Seite empfehlen. Bzw weiter oben in der Hirachie die Hilfe (noch in arbeit). Aber du benötigst einen Kontext wie bei OpenGL in dem alle Fonts etc. erstellt werden. Dieser ist Threadgebunden und an diesem klebt ein Renderer und alle Fonts sind nur in diesem Kontext gültig.

[edit] PS: Und ja fonts kannst du eigentlich alle TTFs nehmen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 18, 2008 13:54 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mär 05, 2007 17:46
Beiträge: 42
hmmm würdest du empfelen, dass ich für jedes TOGLLabel einen eigenen Context erzeuge, oder ist es besser wenn ich für das gesamte Programm einen Context habe?

Kann ich auch die Klasse TFont benutzen? (als quelle, anstatt die ttf dazu zu geben?)

TsInit (mit TS_INIT_TEXTSUITE und TS_INIT_OPENGL) muss ich nicht für jeden Context ausführen oder?


PS: hmm ich hoffe sdl brauche ich nicht dazu.... ich benutze einfach opengl (genauer die TOpenGLControl)
PPS: Die FAQs (na ja der erste Eintrag) sind/ist super! (und wichtig ;-))

_________________
"Weil", so schließt er messerscharf,
"nicht sein kann, was nicht sein darf." :)

Besuch doch mal: http://www.alexanderroth.eu


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 18, 2008 15:06 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Alexander hat geschrieben:
hmmm würdest du empfelen, dass ich für jedes TOGLLabel einen eigenen Context erzeuge, oder ist es besser wenn ich für das gesamte Programm einen Context habe?

Ja. Du solltest für einen OpenGL Kontext auch einen TextSuite Kontext benutzen, denn dort benutze ich TexturFonts und die Zeichen teilen sich die Texturen. Aber das geht nur innerhalb eines Kontextes. Bei zu vielen Kontexen kann sich da schon einiges an Texturspeicher ansammeln. Zu mal der Großteil des Speichers dann ungenutzt wäre.

Alexander hat geschrieben:
Kann ich auch die Klasse TFont benutzen? (als quelle, anstatt die ttf dazu zu geben?)

Nein. Die Klasse TFont kannst du nicht benutzen. Unter windows kannst du mit dem Creator TS_CREATOR_GDI_FACENAME dann Facename angeben. Also so etwas wie 'Arial'. Aber nur unter Windows. Unter Linux kommst du im SDL_ttf erst einmal nicht umher. Ich habe FreeType2 noch auf meiner Liste aber erst mal muss die erste Version richtig fertig gestellt werden. Da wirst du so jetzt immer eine ttf datei angeben müssen.

Alexander hat geschrieben:
TsInit (mit TS_INIT_TEXTSUITE und TS_INIT_OPENGL) muss ich nicht für jeden Context ausführen oder?

Das gilt für die gesammte Bibliothek. Ich habe gerade sogar gesehen, dass es etwas unpraktisch wäre es mehrfach aufzurufen. Denn damit würdest du dir deine Kontextliste überschreiben. Da muss ich noch eine Referenzzählung einbauen. Also bitte aktuell nur ein einziges Mal aufrufen!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 18, 2008 15:21 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mär 05, 2007 17:46
Beiträge: 42
noch ein paar Fragen:
ist
Code:
  1. tsSetParameteri(TS_RENDERER, TS_RENDERER_OPENGL);

kontextabhängig, oder gilt das für die gesamte textsuite?


Dann läd
Code:
  1.   tsFontCreateCreator(pAnsiChar(GetFontFileName), 33, TS_STYLE_NORMAL, TS_DEFAULT, TS_DEFAULT, @gFontID);
  2.  

ja die ttf von einer Datei. Kann ich es auch irgendwie aus einer Ressource laden, ohne die Datei seperat auf die Festplatte zu schreiben?
Also kurz: Kann ich die ttf auch aus einem Ressourcen-Stream laden?

Zitat:
Nein. Die Klasse TFont kannst du nicht benutzen.
Schade, denn die ist ja in fp plattformunabhängig. Oder irre ich mich jetzt?

Zitat:
Unter Linux kommst du im SDL_ttf erst einmal nicht umher.
hmm was ist SDL_ttf? Kann ich nicht ohne SDL auskommen? (ich will mich nicht mit noch einer Biblothek beschäftigen....)
Ich will doch "einfach" (wenn es das bloß wäre :cry: ) Text ausgeben. (aber halt mit umlauten)

Zitat:
Ich habe FreeType2 noch auf meiner Liste
Was ist FreeType2?

_________________
"Weil", so schließt er messerscharf,
"nicht sein kann, was nicht sein darf." :)

Besuch doch mal: http://www.alexanderroth.eu


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 44 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste


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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 15 Queries | GZIP : On ]