Einstieg OpenGL => Textausgabe

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Mathias
Beiträge: 6923
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Einstieg OpenGL => Textausgabe

Beitrag von Mathias »

Kann es sein daß man FPC 3.3.1 braucht, damit das ganze kompiliert ?
ja.
Die Darstellung ist nur unter Linux gut, unter Windows hat es Grafikfehler,
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

PeterS
Beiträge: 161
Registriert: So 22. Feb 2015, 11:36
OS, Lazarus, FPC: L 3.8
CPU-Target: win32

Re: Einstieg OpenGL => Textausgabe

Beitrag von PeterS »

Das ist schade.

Ich habe heute mal recherchiert ob ich es hinbekomme,
für das hier gezeigte Programmier-Beispiel ..
viewtopic.php?p=141892#p141892
.. einen Font mit Umlauten und Sonderzeichen zu bauen.


Aber das ist grausam kompliziert für mich.
=> msdf-bmfont-master.zip

https://github.com/nodejs/node-gyp?tab= ... on-windows

https://github.com/Experience-Monks/msdf-bmfont

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1647
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Einstieg OpenGL => Textausgabe

Beitrag von fliegermichl »

Warum verwendest du nicht GLScene? Damit bekommt man das mit ein paar Klicks zusammen.

PeterS
Beiträge: 161
Registriert: So 22. Feb 2015, 11:36
OS, Lazarus, FPC: L 3.8
CPU-Target: win32

Re: Einstieg OpenGL => Textausgabe

Beitrag von PeterS »

fliegermichl hat geschrieben: Fr 28. Feb 2025, 08:37 Warum verwendest du nicht GLScene? Damit bekommt man das mit ein paar Klicks zusammen.
Okay .. wenn das so ist ?
Kannst Du mir einen Link zu einem Programmier-Beispiel geben, mit Textausgabe ?
OpenGL ist für mich immer noch ein Buch mit 7 Siegeln ..

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1647
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Einstieg OpenGL => Textausgabe

Beitrag von fliegermichl »

PeterS hat geschrieben: Fr 28. Feb 2025, 10:06
fliegermichl hat geschrieben: Fr 28. Feb 2025, 08:37 Warum verwendest du nicht GLScene? Damit bekommt man das mit ein paar Klicks zusammen.
Okay .. wenn das so ist ?
Kannst Du mir einen Link zu einem Programmier-Beispiel geben, mit Textausgabe ?
OpenGL ist für mich immer noch ein Buch mit 7 Siegeln ..
GLScene ist im OPM enthalten. Unter GLSceneLCL\Samples\Lazarus\interface\bmpfont ist ein Beispiel mit Bitmapfonts. Da werden verschiedene Texte auch mit Animationen gezeigt.
Überhaupt ist GLScene ein super Package. Das einzige was fehlt, ist eine brauchbare Dokumentation. Beispiele sind aber jede Menge enthalten.

Edit: Es compiliert nicht sofort. Es muss eine nicht vorhandene Unit rausgelöscht und 2 Funktionsaufrufe, die auf UTF8 enden umbenannt werden (eben ohne das UTF8).

PeterS
Beiträge: 161
Registriert: So 22. Feb 2015, 11:36
OS, Lazarus, FPC: L 3.8
CPU-Target: win32

Re: Einstieg OpenGL => Textausgabe

Beitrag von PeterS »

fliegermichl hat geschrieben: Fr 28. Feb 2025, 11:26 GLScene ist im OPM enthalten. Unter GLSceneLCL\Samples\Lazarus\interface\bmpfont ist ein Beispiel mit Bitmapfonts. Da werden verschiedene Texte auch mit Animationen gezeigt.
Mein erster Eindruck ist, das ist ganz schön viel Code-Overhead, für meine aktuellen Bedürfnisse.
Aber ich werde es am Wochenende mal testen. Versuch macht kluch ..

Wäre einfacher, wenn es übersichtlicher wäre, siehe Anhang.
Screenshot (1234).png
Screenshot (1234).png (18.13 KiB) 10706 mal betrachtet
Dateianhänge
OpenGL-TestSurface 001.zip
(161.96 KiB) 85-mal heruntergeladen

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6793
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Einstieg OpenGL => Textausgabe

Beitrag von af0815 »

PeterS hat geschrieben: Fr 28. Feb 2025, 14:56 Mein erster Eindruck ist, das ist ganz schön viel Code-Overhead, für meine aktuellen Bedürfnisse.
Warum OpenGL für diese simple Anzeige.

Klar bei OpenGL schleppst du einen Initialoverhead mit, den du bei der LCL auf den ersten Blick nicht hast (weil versteckt). Wenn du aber OpenGL unbedingt brauchst, weil zB. LCL vermieden werden soll, dann wirst du darum nicht herumkommen, ausser du suchst dir wieder was, wo das ganze vor dir versteckt wird (sprich in einem Framework drinnen ist).

Ich habe jetzt im Thread nicht gefunden (vielleicht Altersblindheit) was deine genauen Bedürfnisse sind.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Mathias
Beiträge: 6923
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Einstieg OpenGL => Textausgabe

Beitrag von Mathias »

@PeterS

Was ist schlussendlich sein Ziel ?
Ein Games zu schreiben ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

PeterS
Beiträge: 161
Registriert: So 22. Feb 2015, 11:36
OS, Lazarus, FPC: L 3.8
CPU-Target: win32

Re: Einstieg OpenGL => Textausgabe

Beitrag von PeterS »

Mathias hat geschrieben: Fr 28. Feb 2025, 17:09 @PeterS

Was ist schlussendlich sein Ziel ?
Ein Games zu schreiben ?
Naja, ich habe diesen Thread hier im Juni 2024 gestartet, und ..
PeterS hat geschrieben: Mo 10. Jun 2024, 21:06
Mathias hat geschrieben: Mo 10. Jun 2024, 19:18 Was noch wichtig ist, was will man überhaupt machen.
Ein statischer Text, da steckt man am besten den ganzen in eine Bitmap.
Wen es ändern soll, nimmt man die oben beschriebenen Varianten.
Also ich habe schon vor, da erstmal nur einen statischen Text reinzupacken.
Aber die angezeigten Geräte-Daten (z.B. Temperaturen)
ändern sich natürlich mal, je nach Zustand der Anlage.

Hinzu kommen sollen dann später auch dynamische Balkenanzeigen,
ähnlich wie bei Pegel-Messern. Aber das ist dann schon die Kür.
Erstmal müssen die Basics funktionieren und gut aussehen.

Im Moment male ich in ein TImage, das hat natürlich so seine Grenzen,
gerade bei grafischen Elementen. Und wird natürlich von der CPU gerechnet ..

Mathias hat geschrieben: Mo 10. Jun 2024, 19:18 Und noch was wichtig ist, was will man darstellen. die Zeichen von #32 - #127, oder will man sogar UTF8 was dann aber recht komplex wird.
Tja, also die Umlaute und ein paar Sonderzeichen, z.B. für °C, werde ich schon brauchen ..

PeterS
Beiträge: 161
Registriert: So 22. Feb 2015, 11:36
OS, Lazarus, FPC: L 3.8
CPU-Target: win32

Re: Einstieg OpenGL => Textausgabe

Beitrag von PeterS »

fliegermichl hat geschrieben: Fr 28. Feb 2025, 08:37 Warum verwendest du nicht GLScene? Damit bekommt man das mit ein paar Klicks zusammen.
Fängt ja schon gut an ..

"Under Windows
Run setup.bat in ..\GLSceneLCL\external directory as administrator to copy auxiliary dynamic libraries into C:\Windows\System32 and C:\Windows\SysWOW64 directories"

Muss dann jeder User meines Programms diese DLLs auch installieren ?

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6793
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Einstieg OpenGL => Textausgabe

Beitrag von af0815 »

Nein, nicht jeder User, wenn du einen Installer verwendest. Dann sind die Dateien in deinem Paket vorhanden.

Die LCL, wen du die statt OpenGL verwendest, nimmt dir insofern hier arbeit ab, da sie das vorhandene Widgetset nutzt. Ist aber nur ein Hinweis. Und PascalSCADA hat gerade für Animationen, zB. Füllstand von Behältern, geile Sachen die man erst behirnen muss, dann aber total stark Aussehen. Da gabs auch eine Videotutorial mal dazu.

Und was hindert dich, das du nicht mit der LCL die in Lazarus standardmässig verwendet wird, zu arbeiten.
Zuletzt geändert von af0815 am Fr 28. Feb 2025, 22:48, insgesamt 1-mal geändert.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

PeterS
Beiträge: 161
Registriert: So 22. Feb 2015, 11:36
OS, Lazarus, FPC: L 3.8
CPU-Target: win32

Re: Einstieg OpenGL => Textausgabe

Beitrag von PeterS »

af0815 hat geschrieben: Fr 28. Feb 2025, 22:41 Nein, nicht jeder User, wenn du einen Installer verwendest. Dann sind die Dateien in deinem Paket vorhanden.

Die LCL, wen du die statt OpenGL verwendest, nimmt dir insofern hier arbeit ab, da sie das vorhandene Widgetset nutzt. Ist aber nur ein Hinweis. Und PascalSCADA hat gerade für Animationen, zB. Füllstand von Behältern, geile Sachen die man erst behirnen muss, dann aber total stark Aussehen. Da gabs auch eine Videotutorial mal dazu.
Okay, das macht die Sache schwierig.
Mein Programm ist eine "Portable App".
Eine monolithische Exe ohne Beiwerk.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6793
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Einstieg OpenGL => Textausgabe

Beitrag von af0815 »

PeterS hat geschrieben: Fr 28. Feb 2025, 22:47 Mein Programm ist eine "Portable App".
Eine monolithische Exe ohne Beiwerk.
Dann LCL.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

PeterS
Beiträge: 161
Registriert: So 22. Feb 2015, 11:36
OS, Lazarus, FPC: L 3.8
CPU-Target: win32

Re: Einstieg OpenGL => Textausgabe

Beitrag von PeterS »

af0815 hat geschrieben: Fr 28. Feb 2025, 22:50
PeterS hat geschrieben: Fr 28. Feb 2025, 22:47 Mein Programm ist eine "Portable App".
Eine monolithische Exe ohne Beiwerk.
Dann LCL.
Ich habe mich gerade durch die BGRABitmap Examples gekämpft.
Immerhin bekomme ich dort die von mir vermißten Umlaute und Sonderzeichen.
Richtig scharf gezeichnet sind die Chars allerdings nicht ..
.
Screenshot (322).png
Screenshot (322).png (94.63 KiB) 10596 mal betrachtet

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6793
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Einstieg OpenGL => Textausgabe

Beitrag von af0815 »

Du wirst halt irgendwo einen Kompromiss eingehen müssen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten