AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi OpenGL Text | in Form einbauen
Thema durchsuchen
Ansicht
Themen-Optionen

OpenGL Text | in Form einbauen

Ein Thema von HentaiD · begonnen am 10. Okt 2003 · letzter Beitrag vom 28. Okt 2003
Antwort Antwort
Benutzerbild von HentaiD
HentaiD

Registriert seit: 30. Jun 2003
Ort: Wuppertal
30 Beiträge
 
Delphi 7 Enterprise
 
#1

OpenGL Text | in Form einbauen

  Alt 10. Okt 2003, 05:33
Hi!
Also angenommen ich würde auch nur einen Hauch von OpenGL kapieren und hätte jetzt also das was ich brauche-wie kann ich das in eine Form einbauen?Weil ich möchte nicht mein bestehendes programm,dass ich extra dafür gebaut habe nochmal in OpenGL bauen,was auch noch andere Probleme mit sich ziehen würde.

Das wäre das eine.Dann habe ich noch das problem mit dem Text.Habe gelesen,dass man den Text tatsächlich,selber zeichnen muss,also das wäre ja ne Riesenmühe und Code.Und ne ordentliche ANimation,wie ich mir das vorstelle-furchtbar.Gibt es da nicht evtl. eine andere Möglichkeit?Ich habe zB die Möglichkeit eine 3D ANimation zu machen,oder einfach etwas in 3D und dann als 3ds speichern.Mein Vater hatte so einen 3ds loader als Programm,das würde mirne riesenarbeit ersparen.Allerdings sollte es am Ende auch nicht riesengroß sein,das programm is schon 300kb gepackt und mit BMPs.Achja,der Modelloader is eineJava Anwendung,also wenns sowas für delphi geben würde,wäre fett

Hoffe ihr könnt mich etwas aufklären

Greetz,D
PS:Wenn hier viele Rechtschreibfehler sind,dann liegts daran,dass das Forum immer etwas braucht damit mein text erscheint
Signaturen stinken!
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#2

Re: OpenGL Text | in Form einbauen

  Alt 10. Okt 2003, 12:37
Zitat von HentaiD:
PS:Wenn hier viele Rechtschreibfehler sind,dann liegts daran,dass das Forum immer etwas braucht damit mein text erscheint
Ist das auch der Grund warum DU nicht in der Lage bist, nach Satz-/Sonderzeichen eine Leerstelle zu machen? Das ist ja fürchterlich zum lesen...
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
673 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: OpenGL Text | in Form einbauen

  Alt 19. Okt 2003, 21:12
OpenGL kann wohl keinen Text darstellen, soweit ich weiß. Aber Du kannst Dir für jeden Buchstaben ein Quad erstellen und es mit einer Textur belegen, die den Buchstaben zeigt. Nur schreib dann keine Romane
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#4

Re: OpenGL Text | in Form einbauen

  Alt 19. Okt 2003, 21:42
Du kannst Buchstaben rendern und so 2dFonts vorrendern und dann auf den Screen projizieren. Such mal bei google nach Bei Google suchenNeHe da findest du nen Bsp.
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: OpenGL Text | in Form einbauen

  Alt 19. Okt 2003, 22:20
Hi phlux,
du meinst vermutlich http://nehe.gamedev.net/ . Allerdings sind dort alle Beispiele und Tutorials in C++! Außnahme sind die Beispiele für Delphi. Allerdings geht man da auch von aus, dass du C++ kannst.

Chris
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
673 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: OpenGL Text | in Form einbauen

  Alt 19. Okt 2003, 23:19
Es gibt auch die DirectX-Bsp für Delphi übersetzt (Jedi ?). Da benutzt man ne Klasse T3DFont (oder so ähnlich). Die könntest Du als Basis nutzen. Mußt halt mit OpenGL rendern stattdessen ...
  Mit Zitat antworten Zitat
Benutzerbild von Mr_T
Mr_T

Registriert seit: 7. Jun 2002
Ort: Eilsum
136 Beiträge
 
Delphi 2005 Personal
 
#7

Re: OpenGL Text | in Form einbauen

  Alt 20. Okt 2003, 12:48
Man kann mit OpenGL auch 3d Fonts erzeugen ... dafür benötigt man eine Displayliste (eine Variable vom Typ tglint wenn man OpenGl 1.2 oder 1.5 verwendet bzw. bei der Standart Delphi-Unit eine Variable vom Typ gluint) .. diese habe ich mal "base" genannt (die Variable)... denn muss man den Font erzeugen:

Delphi-Quellcode:
procedure BuildFont;          // Build Our Bitmap Font
var font: HFONT;     // Windows Font ID
    gmf : array [0..255] of GLYPHMETRICSFLOAT;      // Address Buffer For Font Storage
begin
  base := glGenLists(256);     // Storage For 96 Characters
  font := CreateFont(12,             // Height Of Font
           0,                // Width Of Font
           0,                // Angle Of Escapement
           0,                // Orientation Angle
           0,       // Font Weight
           0,              // Italic
           0,              // Underline
           0,              // Strikeout
           ANSI_CHARSET,       // Character Set Identifier
           OUT_TT_PRECIS,    // Output Precision
           CLIP_DEFAULT_PRECIS,    // Clipping Precision
           ANTIALIASED_QUALITY,       // Output Quality
           FF_DONTCARE or DEFAULT_PITCH,    // Family And Pitch
           'Arial Black');          // Font Name

  SelectObject(form1.myDC, font);           // Selects The Font We Want

  wglUseFontOutlines(   form1.myDC,            // Select The Current DC
                        0,            // Starting Character
                        255,            // Number Of Display Lists To Build
                        base,            // Starting Display Lists
                        0.0,            // Deviation From The True Outlines
                        0.2,            // Font Thickness In The Z Direction
                        WGL_FONT_POLYGONS,      // Use Polygons, Not Lines
                        @gmf);            // Address Of Buffer To Recieve Data

end;
So, diesen Code hier führt man am Anfang der Anwendung aus (am ende von Form1.oncreate aufrufen) ... Nun kann man mitdieser Prozedur Text auf den Screen bringen:

Delphi-Quellcode:
procedure glPrint(text : pchar);    // Custom GL "Print" Routine
begin
  if (text = '') then           // If There's No Text
          Exit;                // Do Nothing

  glPushAttrib(GL_LIST_BIT);            // Pushes The Display List Bits
  glListBase(base);               // Sets The Base Character
  glCallLists(length(text), GL_UNSIGNED_BYTE, text);   // Draws The Display List Text
  glPopAttrib();                              // Pops The Display List Bits
end;
Sieht zwar alles sehr schwierig aus, hoffe aber, ich konnte dir helfen (Ist kein einfaches Thema)
Mein neuer, 13 Teiliger Open GL - Kurs (Samples in Delphi):
www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!
Neu! Teil 2b: Initialisierung von OpenGL unter Kylix ist fertig!
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
673 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: OpenGL Text | in Form einbauen

  Alt 28. Okt 2003, 21:46
Dummerweise sind die wgl-Funktionen sehr langsam. Bevor die soweit sind, daß sie anfangen, den Font zu malen, hast Du das ganze schon mit Quads ausgegeben
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz