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

Aktuelle Zeit: Fr Jul 18, 2025 12:22

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



Ein neues Thema erstellen Auf das Thema antworten  [ 29 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: Komponenten mit OpenGL
BeitragVerfasst: Mo Okt 03, 2005 02:17 
Offline
DGL Member

Registriert: Mo Okt 03, 2005 02:11
Beiträge: 4
Wohnort: Melbourne
Hallo,
ist es denkbar eine Komponente wie eine ListBox mit OpenGL zu machen und diese dann ganz normal in ein Delphi Projekt einzubinden? Geht mir eigentlich hauptsächlich um die Transparenz-Funktion.

Oder lässt sich das nicht so mischen?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Okt 03, 2005 03:19 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Wäre machbar.
Nur mit einem Problem:
-du würdest ein Panel erstellen indem du die Listbox reinrenders, ist nicht die schönste Lösung

Einfacher wäre es vermutlich die Listbox mit Transparenz direkt in Delphi als Komponente zu erstellen.

Edit: Welcome @DGL :wink:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Okt 03, 2005 07:25 
Offline
DGL Member

Registriert: Mo Okt 03, 2005 02:11
Beiträge: 4
Wohnort: Melbourne
i0n0s hat geschrieben:
Einfacher wäre es vermutlich die Listbox mit Transparenz direkt in Delphi als Komponente zu erstellen.

wie das denn? Wie realisiere ich denn Transparenz in Delphi?
Zitat:
Edit: Welcome @DGL :wink:

thx


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Okt 03, 2005 14:11 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Hmm, das ist eine gute Frage.
Habe gerade mal gegoogelt:
hier leider auf dänisch, aber die Links am Ende sind gut.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Okt 03, 2005 15:11 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Wobei man dazu aber sagen muss, dass das keine wirkliche Tranzparent ist sondern eher mit Alphamasking vergleichbar wäre. Wobei das aber auch die schnellste Möglichkeit mit wäre.

Sollte es wirklich transparent sein so wird dir nichts anderes übrig bleiben als dein Komponenten in ein Bitmap zu speichern, dir den Hintergrund hinter der Komponente (CopyRect mit Parent.Handle) und das dann per Pixel aufzurechnen. Wenn es gut gemacht ist, dann dürfte es habwegs bedienbar sein. Aber auf langsamen System bekommst du so in arge Geschwindignöte. Und das ist nur dann zu "empfehlen", wenn es wirklich keinen anderen Ausweg gibt.

Hatte vor kurzem, das Problem, dass ein Bitmap transparent darstellen musste. Habe es aber letzten endes doch komplett in OpenGL gelöst, da das wesentlich schneller ist. Du könntest die Komponenten zwar auch in OpenGL machen, aber das ist aber so ne Sache. Da gibt es leider noch keine Komplettlösung. Und das selber zu machen ist ziemlich viel arbeit.

Wenn dir also das mit Brush.Style ausreicht so solltest du auf jeden Fall das nehmen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 04, 2005 01:52 
Offline
DGL Member

Registriert: Mo Okt 03, 2005 02:11
Beiträge: 4
Wohnort: Melbourne
um mal ein einfacheres Beispiel zu nehmen, wie mache ich denn ein Button in OpenGL ?
Hab mir nur mal die ersten Tutorials durchgelsen und ein paar Dreiecke drehen lassen, aber dazu muss ich doch erst das Fenster initialisieren. Ich kann mir das jetzt überhaupt nicht vorstellen wie ich einen neue Klasse eines Buttons mit OpenGL machen soll. Also so dass ich den dann wie einen normalen Button in ganz herkömmlichen Projekte benutzen kann, die rein gar nichts mit OpenGL zu tun haben.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 04, 2005 07:22 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also wenn man Buttons etc. in OpenGL machen wollte, dann müsste man diese zu 100% selber schreiben. Also du kannst da nicht einfach einen TButton ableiteb und diesen dann verwenden. Du musst die Fensterverwaltung, Eventhandling (Maus und Tastaturereignisse) alles selber implementieren. Und das zeichnen ist dann ein klacks. Da genügt es 9 Flächen zu zeichnen auf der eine Textur angebracht ist. Eine für jede Ecke (4). Eine für jede gerade (auch 4) und eine für die Mitte. Die Ecke sind nicht gestreckt. Die Geraden sind sind nur lang gezogen. Höhe oder Breite ist genau so wie in einer Ecke. Und die Mitte ist ausgefüllt. Und dann kann man den Button komplett in der größe verändern auf das er gut aussieht. Sofern die Textur stimmt.

Ich habe hier auch mal was gemacht. Bin da aber gerade dabei es von grund auf neu zu schreiben.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 04, 2005 08:25 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 02, 2003 12:47
Beiträge: 300
Wohnort: Marburg
Zitat:
Da genügt es 9 Flächen zu zeichnen auf der eine Textur angebracht ist. Eine für jede Ecke (4). Eine für jede gerade (auch 4) und eine für die Mitte. Die Ecke sind nicht gestreckt. Die Geraden sind sind nur lang gezogen. Höhe oder Breite ist genau so wie in einer Ecke. Und die Mitte ist ausgefüllt. Und dann kann man den Button komplett in der größe verändern auf das er gut aussieht.


Das verstehe ich nicht, wie meinst du das mit den 9 Flächen?
Kann ich nich auch buttons mit einem quad machen, wenn ich dass will , oder dreieckig oder wie auch immer (schneemannform oder so) ?

_________________
Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 04, 2005 09:40 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Machen kannst du es natürlich so wie es dir beliebt. Für nen Standardbutton ala Windowslook mit einem Rand und in unterschiedlichen Größen benötigt man 9 Flächen. Das war auch nur ein Beispiel. Es hängt natürlich immer davon ab was man machen möchte. Dann genügt mitunter auch eine Fläche.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 04, 2005 09:46 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 02, 2003 12:47
Beiträge: 300
Wohnort: Marburg
achso!
das hatte mich nur irgendwie verwirrt, ich sollte nich so früh aufstehen :lol:

_________________
Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 04, 2005 11:11 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Für Skalierbare Buttons brauchst du 9 Flächen. Wenn dein Button immer nur eine Größe hat, dann gehts auch mit einem Quad.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 04, 2005 14:30 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
Dazu fällt mir ein:
Bei Windows Vista ist das ja alles kein Problem mehr( Also Durchsichtig, Buttons Skalierbar,.... )!
Frag mal Tak2004, der hat sowas auch mal geschrieben, und soweit ich weiss hat er auch den Code veröffentlicht!

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 04, 2005 15:14 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
TAK2004 hat eine GUI für OpenGL geschrieben. Das ist genau umgekehrt.

Buttons in OpenGL zu zeichnen ist ja nicht sooo wahnsinnig schwer. Skfink möchte ja keine Buttons in OpenGL, sondern eher OpenGL in Buttons. Naja... So ungefähr jedenfalls ;)

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 04, 2005 17:02 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Na ja. Ist die Frage ob es sinnvoll ist lediglich eine Komponente in OpenGL zu machen. Da ist ja besser die komplette GUI umzustellen. Das hat mehr Vorteile als nur eine einzelne Komponente. Macht natürlich aber auch geringfügig mehr arbeit. ;-)

Ich weiß nicht ob wer Picasa von Google kennt. Das ist schon pervers geil was die da geleistet haben. Aber leider in DirectX (denke ich mal).


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 04, 2005 17:31 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
Lossy eX hat geschrieben:
Ich weiß nicht ob wer Picasa von Google kennt. Das ist schon pervers geil was die da geleistet haben. Aber leider in DirectX (denke ich mal).


WoW!!! Die Umgebung ist wirklich verdammt schnell, seltend etwas gesehen was so schnell läuft!

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 29 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

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