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

Aktuelle Zeit: Do Jul 17, 2025 14:23

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



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Re: gmfCellIncX verständnis problem
BeitragVerfasst: Mi Jun 06, 2012 18:05 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
EWeiss hat geschrieben:
Ich möchte die gesamtlänge eines Strings über gmfCellIncX pro Char in erfahrung bringen.

Mein Ansatz ist dieser

Code:
  1. glNewList(ListsgLyrics + cnt, GL_COMPILE);
  2.   if (gLyrics[cnt].translatex < 0.0) then
  3.       glTranslated(gLyrics[cnt].translatex, gLyrics[cnt].translatey, 0);
  4.  
  5.   for charcnt := 0 to  Length(s) -1 do
  6.   begin
  7.     temp := copy(s, charcnt + 1, 1);
  8.     tempc := Ord(temp[1]);
  9.     lineWidth := lineWidth + gmfLyrics[tempc].gmfCellIncX;
  10.     glCallList(ListsLyricsFont + tempc);
  11.   end;
  12. glEndList;


Problem: Es wird kein Text gerendert..
Wenn das in ordnung ist muss mein Fehler an anderer stelle liegen.
Danke für's drüberschaun

gruss

PS:
Ich hoffe ich nerve nicht ;)


uhm könntest du ein paar Kommentare hinzufügen, hab gerade 13h Schicht hinter mir :D

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: gmfCellIncX verständnis problem
BeitragVerfasst: Mi Jun 06, 2012 20:17 
Offline
DGL Member

Registriert: Mi Jan 05, 2011 14:55
Beiträge: 47
Programmiersprache: Delphi, C++,C
Ich schätze mal kommentare die anzeigen was welcher teil des codes bewirken soll :) Ist dann einfacherer Verständnissfehler zu erkennen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: gmfCellIncX verständnis problem
BeitragVerfasst: Do Jun 07, 2012 10:51 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Mal mittels debugger (Stichwort "Ausdruck auswerten") geprüft ob deine Werte die du da erstellst auch korrekt sind? Am besten mal Haltepunkte setzen, druchsteppen und auswerten, dann siehst du ganz schnell ob irgendwo was falsches drinsteht. Ansonsten auch mal schaun ob OpenGL dir nicht irgendwo nen Fehler ausspuckt.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: gmfCellIncX verständnis problem
BeitragVerfasst: Do Jun 07, 2012 11:12 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Achja und:
Code:
  1.  
  2. for charcnt := 0 to  Length(s) -1 do
  3.   begin
  4.     temp := copy(s, charcnt + 1, 1);
  5.     tempc := Ord(temp[1]);
  6.  


kp wie ob es in Pascal so ist, aber ich vermute tempc ist immer 0.

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: gmfCellIncX verständnis problem
BeitragVerfasst: Do Jun 07, 2012 12:58 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
EWeiss hat geschrieben:
yunharla hat geschrieben:
Achja und:
Code:
  1.  
  2. for charcnt := 0 to  Length(s) -1 do
  3.   begin
  4.     temp := copy(s, charcnt + 1, 1);
  5.     tempc := Ord(temp[1]);
  6.  


kp wie ob es in Pascal so ist, aber ich vermute tempc ist immer 0.


Nein..
in temp wird der Char vom aktuellen counter copiert Sample: "@"
in tempc wird dieses zeichen in dezimaler form "64" für das Sample "@" an gmfCellIncX übergeben um die weite dieses einen Chars zu berechnen
in lineWidth wird es incrementiert und anschließend an glCallList übergeben.

wenn also gmfCellIncX als übergabe den dezimalen wert eines Chars erwartet
(konnte ich in der Wiki nicht entdecken) dann sollte das so richtig sein.

Mein verständnis problem bassiert also auf der Frage ist es korrekt das gmfCellIncX einen Dezimalen
wert vom aktuell übergebenen char erwartet.

gruss


Grober Fehler:
was soll dein Code machen?
Warum nutzt du den Debugger nicht?

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: gmfCellIncX verständnis problem
BeitragVerfasst: Do Jun 07, 2012 19:48 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Immer schön fluffig bleiben, niemand will dich hier für dumm verkaufen.

1.) Nutz den debugger um herauszufinden was du für einen Wert von gmfCellIncX bekommst wenn du es nicht in der Doku findest.
2.) Nutz den debugger um herauszufinden ob du den Index deiner Displayliste falsch setzt/überschreibst:
eine DisplayListe speichert nur Anweisungen , die Anweisungen die hinter glCallList/s stehen werden nicht in die neue Liste reinkompeliert.
verweist glCallList auf einen falschen Index dann passiert nichts.
3.) Wenn du ein Array iterierst dann pass gefälligst dein Schleifenkopf dem Array an (ist soweit ich das noch in Erinnerung hab unter pascal wesentlich wichtiger)
4.) überleg dir mal welchen Sinn es macht nur für die Translation ne Displayliste zu erstellen.
5.) Dezimal ist kein OpenGL kompatibler Datentyp

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: gmfCellIncX verständnis problem
BeitragVerfasst: Do Jun 07, 2012 21:53 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Bitte entschuldige, du kannst es nicht in der Doku finden da es dein eigenes Array ist und es erwartet
selbstverständlich einen Short da du es für 257 Werte initialisiert hast. Und wegen der Displaylisten kann
ich dich beruhigen, es ist nicht notwenig sie so exzessiv zu benutzen.Selbst die ersten OGL basierenden
Spiele haben das nur für den Font selbst gemacht und die Translation außerhalb gesetzt, da es sonst
nur unübersichtlicher wird (und mehr Speicher frisst). Wenn es wirklich extrem wird (am besten Profiler
mal laufen lassen) dann solltest du entweder VBOs nutzen oder das ganze dann nochmal mit FBOs cachen.

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 13 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.008s | 15 Queries | GZIP : On ]