AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi OpenGL - Text ausgeben mit TextSuite klappt nicht
Thema durchsuchen
Ansicht
Themen-Optionen

OpenGL - Text ausgeben mit TextSuite klappt nicht

Ein Thema von fui-tak · begonnen am 3. Aug 2010 · letzter Beitrag vom 7. Sep 2010
 
fui-tak

Registriert seit: 24. Okt 2008
117 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: OpenGL - Text ausgeben mit TextSuite klappt nicht

  Alt 6. Aug 2010, 20:22
hi, ich habe jetzt die Lösung von blackfin ausprobiert aber leider immer noch keinen Erfolg....

hier nochmal etwas mehr Code von mir:


Erzeugen:
Delphi-Quellcode:
function TKKOpenGL.init(pHandleUntergrund:THandle;pbreite,phoehe:integer):boolean;
begin
  Result := InitOpenGL;

  if not Result then
     exit;


  setLength(texturen,1);

  fensterBreite := pbreite;
  fensterHoehe := phoehe;
  aktuellesBild := -1;
  zoomFaktorX := 1;
  zoomFaktorY := 1;
  aktRotationsWinkel := 0;

  HandleUntergrund := pHandleUntergrund;
  DC:= GetDC(HandleUntergrund);

  RC:= CreateRenderingContext( DC,
                               [opDoubleBuffered],
                               32,
                               24,
                               0,0,0,
                               0);
  ActivateRenderingContext(DC, RC);

  

  glClearColor(0.3, 0.4, 0.7, 0.0); //Hintergrundfarbe: Hier ein leichtes Blau
  //glClearColor(0, 0, 0, 0.0); //Schwarz
  glEnable(GL_DEPTH_TEST); //Tiefentest aktivieren
  glDepthFunc(GL_LESS);//Neue Fragmente bestehen den Vergleich, wenn sie einen geringeren Tiefenwert haben.
  glEnable(GL_CULL_FACE); //Backface Culling aktivieren - Rückseiten werden nicht gerendert
  glCullFace(GL_BACK);

  glEnable(GL_ALPHA_TEST); //Transparenz
  glAlphaFunc(GL_GREATER, 0.1);//alles mit einem größeren Alphawert als 0.1 wird gerendert

  glEnable(GL_TEXTURE_2D); //Texturen zeichnen einschalten;


  textVorbereiten;
end;



procedure TKKOpenGL.textVorbereiten;
begin}
CharLists := glGenLists(96);

// Schrift erzeugen
MyFont := CreateFont(-12, // Höhe der Schrift (12 Punkt)
                     0, // Keine durchschnittliche Breite, brauchen wir hier nicht
                     0, // Escapement, brauchen wir hier nicht
                     0, // Orientation brauchen wir hier nicht
                     FW_NORMAL, // Schrift-Dicke (normal, bold, bla...)
                     0, // Kursiv? 0=nein, 1=ja
                     0, // Unterstrichen? 0=nein, 1=ja
                     0, // Durchgestrichen? 0=nein, 1=ja
                     ANSI_CHARSET, // Character Set
                     OUT_TT_PRECIS, // Standard-Präzision
                     CLIP_DEFAULT_PRECIS, // Standard-Clip-Präzision
                     ANTIALIASED_QUALITY, // Render-Qualität => Antialiased
                     FF_DONTCARE or DEFAULT_PITCH, // Pitch und Schrift-Familie (Standard)
                     'Verdana'                           // Name der Schrift(-datei)
);

SelectObject(ContextID,MyFont);

wglUseFontBitmaps(ContextID,32,96,CharLists);
end;


Renderprozedur:
Delphi-Quellcode:
  glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);

  glMatrixMode(GL_PROJECTION);
  glLoadIdentity;
 
  glOrtho(0,fensterBreite,0,fensterHoehe,NearClipping,FarClipping);//2D erstellen, http://wiki.delphigl.com/index.php/Tutorial_2D

  glMatrixMode(GL_MODELVIEW);

  glLoadIdentity;

  
  //hier male ich verschiedene Texturen, habe ich aber zu Testzwecken aus meinem Programm zurzeit entfernt

  
  //Text schreiben
  text := 'Hallo Welt';
  
  glTranslatef(0,0,-10);

  glColor3f(255,255,255);

  glRasterPos2f(0,0);

  glPushAttrib(GL_LIST_BIT);

  glListBase(CharLists - 32);

  glCallLists(Length(text),GL_UNSIGNED_BYTE,Pchar(text));

  glPopAttrib;


  SwapBuffers(DC);
Ich bekomme keine Fehlermeldungen, es wird einfach nicht angezeigt. Ich sehe nur den blauen Hintergrund von glClear

Hat jemand eine Idee?

Geändert von fui-tak ( 6. Aug 2010 um 20:25 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:51 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