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

Aktuelle Zeit: Do Mär 28, 2024 17:21

Foren-Übersicht » Sonstiges » Meinungen zu den Projekten
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 66 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5  Nächste
Autor Nachricht
 Betreff des Beitrags: @Eigene GUI, die auf Canvas Basiert
BeitragVerfasst: So Jan 20, 2008 14:54 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Wie ich schon im anderen Thread gesagt habe, wäre ich, wenn du neu anfangen willst mit nem kleinen Team, dafür, dass man die GUI für OpenGL baut.
Dann könnte man sie verwenden, ohne den großen Performanceverlust, den man hat, wenn man Komponenten auf ein OpenGL-Fenster klebt, in eigenen Projekten verwenden. Noch dazu hat man bei OpenGL dann gleich so schöne dinge wie Alpha-Blending und Texturierung dabei, ohne dass man sich große Sorgen um die Performance machen muss.

//Edit: Du könntest dich, wenn du sowas machen willst, beim Lazarus Projekt melden. Ich glaube die wollen mit fpgui was ähnliches aufbauen und ich kann mir vorstellen, dass die noch nen haufen leute brauchen können.

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: Mo Jan 21, 2008 09:41 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wollte ebenfalls vorschlagen, dass du die Oberfläche mit OpenGL realisierst. Je nachdem wie gut du dein Projekt gegliedert hast, solltest du die Oberfläche problemlos ändern können ohne das darunter zu ändern.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 21, 2008 17:03 
Offline
DGL Member
Benutzeravatar

Registriert: So Mai 11, 2003 10:36
Beiträge: 285
Wohnort: Oldenburg
Programmiersprache: Object Pascal
ach ist sind die Antworten habe mich schon gewundert *G*.

Nein ! OpenGL läuft bei mir unter Linux leider nicht. Daher wird es bei Canvas bleiben. ich könnte aber auf SDL umsteigen, wenn es mehr Leute gibt die Mitmachen. Wobei ich finde SDL nicht so toll.

Warum OpenGL ? Canvas ist schnell genug. Eine GUI sollte nicht unbedingt mit Effekten überladen werden.
Bei OpenGL könnte ich ja drauf kommen, Licht Effekte einzubauen oder andere sachen, vieles geht aber jetzt schon mit Canvas und opBitMap. z.b. Halbtranzparent und so.
Und ein großes ziel ist es, die CPU soll so fern das möglich ist geschont werden d.h. ich möchte 100%CPU last vermeiden.
das ist mein Größestes Ziel bei der Entwicklung und das ist teilweise auch nur schwer zu erreichen, weil einige sachen einfach CPU zeit benötigen z.b. die Hot Funktion bei Komponenten, bei jeder Mausbewegung muss ich prüfen, ob eine Kollision mit einer Komponente stad gefunden hat, wenn ja, markiere diese Komponente entsprechend.

Zitat:
Ich glaube die wollen mit fpgui was

Ja das habe sie beim Lazarus Forum auch gesagt dort ging es aber um eine andere GUI. Ich habe schon mehrmals angefangen eine GUI zu schreiben. Mit diesem Versuch bin ich sehr sehr zufrieden und werde ihn auch wohl in der nächsten Zeit einfach weiter machen. Sofern sich nix anders ergibt.

Ich habe mir die FPGUI angesehen, und finde sie nicht so toll. warum weiss ich nicht. Ich habe aber gesehen das sie dort vieles genau so machen wie ich, d.h. ich bin auf den richtigen Weg mit meiner GUI.

Ich denke ich werde noch einige Komponenten hinzufügen. Und natürlich gehören auch dazu Dialoge. und Fenster.

_________________
MFG<br> Michael Springwald, <br>
Bitte nur Links in Deutsch, nutze überwiegend Lazarus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 21, 2008 17:12 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Okt 03, 2007 14:22
Beiträge: 388
Unser (;)) Ziel ist es eine GUI zu bauen, die man problemlos für alle möglichen Programme verwenden kann und da Canvas sozusagen fast gar nicht belastet wäre das schon gut, zumal er es hinbekommen hat, nur zu zeichnen, was auch wirklich gezeichnet werden muss, also keine Dauerneuzeichnerei wie bei OpenGL (Application.OnIdle...). Eine GUI für ein Spiel ist eben was ganz anderes, da wäre OpenGL definitiv angebrachter, denn wozu so eine GUI, wenn man den Rest auch mit OpenGL macht.

_________________
Meine Musik: spiker-music.net


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 21, 2008 17:35 
Offline
DGL Member
Benutzeravatar

Registriert: So Mai 11, 2003 10:36
Beiträge: 285
Wohnort: Oldenburg
Programmiersprache: Object Pascal
Ein Vorschlag währe eine art Schnittstelle einzubauen, mit der zwischen OpenGL und Canvas wechseln kann.
Das OpenGL Interface könnte dann einige Funktionen mehr haben, als das von Canvas.

Also was noch eine Idee währe SDL zu unterstützen.Währe toll wenn sich noch mehr Leute Melden würden.
Das große ziel soll es natürlich auch sein, die Komponenten Skinbar zu machen.
Es gibt viele Ziele.... Sobald ich die Letzten Probleme beseitig habe könnte ich die Sorucen von allem Hochladen und ihr könnt sie euch dann anschauen und mir eure Meinungen zu den Sorucen sagen. Was verbessert werden könnte.

Ich sehe das Projekt als Test Projekt an. es gibt zwar jetzt 12 Komponenten, aber trotzdem ist es nur ein Prototyp.
Evlt. bleibt es auch bei diesem Projekt. Mal sehen. Aber ich finde es jetzt schon sehr vielversprechender als meine vorherigen versuche(ich glaube drei waren es).

_________________
MFG<br> Michael Springwald, <br>
Bitte nur Links in Deutsch, nutze überwiegend Lazarus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 21, 2008 18:14 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Nils hat geschrieben:
Unser (;)) Ziel ist es eine GUI zu bauen, die man problemlos für alle möglichen Programme verwenden kann und da Canvas sozusagen fast gar nicht belastet wäre das schon gut, zumal er es hinbekommen hat, nur zu zeichnen, was auch wirklich gezeichnet werden muss, also keine Dauerneuzeichnerei wie bei OpenGL (Application.OnIdle...). Eine GUI für ein Spiel ist eben was ganz anderes, da wäre OpenGL definitiv angebrachter, denn wozu so eine GUI, wenn man den Rest auch mit OpenGL macht.


Wo steht denn das OpenGL grundsätzlich eine "dauerzeichnerei" ist? ;)
Das ist so nur bei Spielen.. bei allen anderen 3D Applikationen nicht. (Mein Flipbook z.B. (da ist die GUI auch komplett OpenGL) zeichnet auch nur dann neu, wenn es gebraucht wird = nix mit 100% CPU auslastung.. eher im gegenteil, die CPU wird ja von der GPU entlastet.

Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 21, 2008 18:21 
Offline
DGL Member
Benutzeravatar

Registriert: So Mai 11, 2003 10:36
Beiträge: 285
Wohnort: Oldenburg
Programmiersprache: Object Pascal
ach das geht auch ? das wusste ich nicht. Aber an was für Effekte habt ihr denn gedacht ?
Damit es sich lohnt meine ich. oder einfach nur weil dann die Grafik Karte genutzt wird und nicht die CPU zum Rendern ?

_________________
MFG<br> Michael Springwald, <br>
Bitte nur Links in Deutsch, nutze überwiegend Lazarus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 21, 2008 23:29 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
Es geht hier glaube ich weniger um die effekte, als dass man es mit vorhandenem OpenGL code mischen kann und auf den selben DeviceContext zeichnen kann. Hardwarebeschleunigung und OpenGL sollte man ja (insbesondere ab Vista) nicht in einem Control vermischen.

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 22, 2008 14:23 
Offline
DGL Member
Benutzeravatar

Registriert: So Mai 11, 2003 10:36
Beiträge: 285
Wohnort: Oldenburg
Programmiersprache: Object Pascal
warum das nicht ?

Ja darum möchte ich alles per Canvas selbst machen, weil ich eine eigene sehr einfache 2D Engine geschrieben habe, die ich jetzt schon für meine Spiele verwende, wollte ich auch eine eigene GUI haben, und als Nils sagte das er eine Skinbare GUI für Lazarus sucht, habe ich vorgeschlagen, das wir das zusammen machen könnte.

So kann ich meine GUI, wenn sie soweit ist, für meine 2D Spiele und für meine Tools verwenden und er für seine Projekte.
Das passt doch recht gut.

Ich weis ja das es viele anders sehen. Aber ich sehe das nun mal so. Ich würde es schöner finden, wenn wir über eine GUI allgemein sprechen würden und nicht abweichen ob OpenGL, SDL, Canvas spiel ja keine roll, ich könnte ja ein Grafik Interface hinzufügen so das man umschalten kann.

Mir geht es um die einzelnen Komponenten an sich. ich habe das bei mir z.b. so gemacht:
Es gibt eine Bases Klasse: TPluto2DKompo, von der alle Komponenten abgeleitet sein müssen/sollten,

Meine 2D Engine Stellt einen Sprit Manger zuverfügung, dort kommen alle Komponenten Automatisch rein bzw, man muss es bei der Installisierung angeben. Das möchte ich auch noch vereinfachen.

Und dann möchte ich Natürlich soviele Komponenten hinzufügen wie nur möglich, alle Komponenten sollen wenn es geht, die gleichen Funktionen haben wie z.b. beim auswählen eine andere Rand Farbe anzeigen, wenn mit der Mausdrüber gefahren wird eine andere Rand Farbe und soweiter. Das geht auch schon recht gut.

Ich habe jetzt 12 Komponenten + die Baeses Klasse und eine Klasse für die Verwaltung, TPluto2DKompoList.
Es sieht sehr vielversprechend aus. Ich hoffe das wird es am ende auch.

Z.b. könnten wir ja mal die Frage klären, wie man das Scrollen/Markieren am besten lösen könnte.
Das währe schon Praktisch. Weil das ist auch das Haupt Problem, neben den Caschen von Seiten, die im Label Dagestellt werden sollen.

_________________
MFG<br> Michael Springwald, <br>
Bitte nur Links in Deutsch, nutze überwiegend Lazarus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 22, 2008 15:05 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
@Pluto wegen der Scriptsprache:
Hast du dir mal Lua angeschaut (ist ein englischer Link, aber den gibts wohl nicht in Deutsch)?

The-Winner hat geschrieben:
Es geht hier glaube ich weniger um die effekte, als dass man es mit vorhandenem OpenGL code mischen kann und auf den selben DeviceContext zeichnen kann. Hardwarebeschleunigung und OpenGL sollte man ja (insbesondere ab Vista) nicht in einem Control vermischen.

Ähm... OpenGL ist doch Hardwarebeschleunigung oder stürzt da jetz ein Weltbild zusammen?

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: Di Jan 22, 2008 15:17 
Offline
DGL Member
Benutzeravatar

Registriert: So Mai 11, 2003 10:36
Beiträge: 285
Wohnort: Oldenburg
Programmiersprache: Object Pascal
Ich denke eine GUI sollte einfach gehalten werden und nicht Hardwarebeschleunigung nutzen müssen.
Dann ist es keine GUI sondern ein Spiel oder sowas. Eine GUI muss einfach zu bedinen sein, man sollte sich nicht vohrer 1000 Seiten durchlesen müssen um nur anhäerd damit klar zu kommen, gut für bestimmte sachen ist es praktisch ein Handbuch zu der GUI zu erstellen, was ich jetzt schon versuche allerdings in meinem Eigenen Format, für das Label.

Und Stellenweise sollen auch Grafik Unterstütz werden z.b. da wo es sin macht:
Bei Checkboxen, RadioBoxen, Listboxen, MainMenus und sowas halt, oder auch ein Toolbar.
Aber im Allgemeinen sollten wenn es nicht Darauf ankommt wenig Grafiken verwendet werden. z.b. währe es auch denkbar verschiedene Hintergrund Bilder zu verwenden, bei den Einzlenen "Flächen" Komponenten.

Z.b. ich glaube das habe ich schon erwähnt: Jeder Text den ihr auf den Beispiel Bilder sehen(die schon gar nicht mehr Aktuell sind, weil ich jeden Tag die GUI und das Test App erweitere) ein Label ist. Daher dachte ich schon, wenn noch mehr Tags hinzukommen, diese zu speren, z.b. ein Link währe bei einer Checkbox wohl nicht angebracht, oder wenn es Später Tabellen gibt, sollten sie bei Checkboxen, Radioboxen und so nicht beachtet werden.

Ich frage mich noch was eine Image Komponente so können könnten ?
Im Moment läd sie nur eine Grafik mit OpBitMap d.h. es sind viele Grafik Formate verfügbar.

Evlt. werde ich noch folgende Funktionen zu der Image Komponente hinzufügen: Grafik an die Größe der Komponente anpassen.
Tranzparente da Stellung.

Und was ich auch noch schreiben möchte ist eine ImageListe, als einfache Klasse gibt es sie schon,das war das erste was ich vor meiner 2D Engine angefangen habe. Weil es eine Grund Funktion ist. Nachteil der Imagelist ist, die Datei wo die Grafiken beschrieben wird, wird komplett in den Speicher geladen und die Grafiken auch. damit bei einen Zugriff nicht erst die Grafik geladen werden muss.

_________________
MFG<br> Michael Springwald, <br>
Bitte nur Links in Deutsch, nutze überwiegend Lazarus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 22, 2008 16:58 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich hatte ja auch OpenGL empfohlen. Ich möchte das mal relativieren. Wenn du ein Spiel hast, welches auf Canvas aufbaut, wäre es schwachsinn eine OpenGL GUI zu verwenden.

Allerdings darf dich das nicht wundern, wenn in einem OpenGL Forum OpenGL als Goldener Weg angemahnt wird. ;)

Wir denken bei Spielegrafik halt automatisch, dass es in OGL realisiert ist.


Schick wäre es allerdings schon, wenn du die Logik deiner GUI komponenten konsequent von der Grafischen ausgabe trennst. Dann könntest du je nach GUI Typ verschiedene Zeichenhandler den Objekten mitgeben und die würden dann z.B. entweder OpenGL, oder aber Canvas nutzen.

Ich hab ne GUI geschreiben, die sowas können sollte(!). Ich hab allerdings bisher immer nur OpenGL verwendet, und es würde garantiert noch probleme geben wenn das auf was anderes umstellt. (Und außerdem isses in Java ;) )

Meine GUI benutzt zu diesem zweck einen Manager der für von allen sichtbaren Formularen einen Render-Callback aufruft. Diese wiederum rufen für alle Subforms und Componenten die Render-Callbacks auf. Was in den Render-Callbacks steht (also z.B. welche Technologie/API genutzt wird) ist dann Sache dieser Callbacks (bzw. des Programmierers ;) )

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 22, 2008 17:14 
Offline
DGL Member
Benutzeravatar

Registriert: So Mai 11, 2003 10:36
Beiträge: 285
Wohnort: Oldenburg
Programmiersprache: Object Pascal
Zitat:
OpenGL als Goldener Weg

Ja ist mir schon klar, ich habe auch nichts da gegen. Ich dachte nur hier macht es mehr sin als in anderen Foren, weil es ja neben OpenGL auch um Allgemeine Tools für spiele/Programme geht. oder nicht ?

Du hast eine GUI geschrieben ?
dann würde ich gerne wissen ob es Edit/Memo Komponenten gibt und wie du sie erstellt hast.

Bei Edit und Memo würde ich nicht auf eine TStringlist zurückgreifen sondern warscheinlich alles in einer TObjectList speichern, damit ich Wörter z.b. auch in Rot da stellen kann. Was bei einem Memo evlt. nicht angebracht ist, aber z.b. wenn ein gefundens Wort über F3 in gelb Angezeigt wird, währe es so einfacher.

Das Edit sollte natürlich auch so eine Funktion aufweisen.

Was für Komponenten hast du schon für deine GUI erstellt ?
Bei mir sind es 12 und es werden ca noch mal so viele. Neben einigen Standard Dialoge die ich noch hinzufügen möchte.
Aber damit habe ich noch nicht angefangen.

Ich finde das Thema Grafik, Canvas, recht Interessant, wozu doch ein Viereck Dienen kann *G*

_________________
MFG<br> Michael Springwald, <br>
Bitte nur Links in Deutsch, nutze überwiegend Lazarus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 22, 2008 19:46 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
Lord Horazont hat geschrieben:
@Pluto wegen der Scriptsprache:
Hast du dir mal Lua angeschaut (ist ein englischer Link, aber den gibts wohl nicht in Deutsch)?

The-Winner hat geschrieben:
Es geht hier glaube ich weniger um die effekte, als dass man es mit vorhandenem OpenGL code mischen kann und auf den selben DeviceContext zeichnen kann. Hardwarebeschleunigung und OpenGL sollte man ja (insbesondere ab Vista) nicht in einem Control vermischen.

Ähm... OpenGL ist doch Hardwarebeschleunigung oder stürzt da jetz ein Weltbild zusammen?

Gruß Lord Horazont

Hab mich verschrieben, meinte Hardwarebeschleunigt(OpenGL/DirectX) und GDI

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 22, 2008 19:49 
Offline
DGL Member
Benutzeravatar

Registriert: So Mai 11, 2003 10:36
Beiträge: 285
Wohnort: Oldenburg
Programmiersprache: Object Pascal
GDI auch ? ich dachte das gerade nicht.

Ich brauche schon was für Lazarus. Und du sagst doch Lua ist langsam.
Aber Trotzdem Danke.

_________________
MFG<br> Michael Springwald, <br>
Bitte nur Links in Deutsch, nutze überwiegend Lazarus


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 66 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5  Nächste
Foren-Übersicht » Sonstiges » Meinungen zu den Projekten


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 14 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.044s | 17 Queries | GZIP : On ]