Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Die benutzen zur Darstellung ja auch ne Hardware beschleunigung. Und wenns gut gemacht ist, dann isses natürlich auch schnell. Wobei GDI auch nicht unbedingt langsam ist. Das wird auch beschleunigt. Nur stehen da nicht so viele Effekte zur Verfügung. Und GDI ist schon ziemlich alt. Aber ich glaube wir kommen gerade ein wenig ins schwärmen und vom Thema ab.
Registriert: Di Dez 02, 2003 12:47 Beiträge: 300 Wohnort: Marburg
Offtopic: Da habe ich ja n bisschen Angst vor (vor vista): laufen dann unsere gantzen selbst geschriebenen Sachen noch genau wie vorher, wenn die unterschiede so groß sind??
_________________ Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de
Natürlich nicht. M$ sei Dank. Entweder du beschränkst dich auf langsames OpenGL 1.4, auf die herkömmliche Windows-Oberfläche (Aeroglass...) oder du beschränkst dich auf DirectX.
_________________ "Für kein Tier wird so viel gearbeitet wie für die Katz'."
Natürlich nicht. M$ sei Dank. Entweder du beschränkst dich auf langsames OpenGL 1.4, auf die herkömmliche Windows-Oberfläche (Aeroglass...) oder du beschränkst dich auf DirectX.
Stimmt nicht, wenn ihr meine Posts abundzu lesen würdet, würdet ihr wissen, das sowohl OpenGL als auch DirectX vermutlich über einen Wrapper laufen werden! Die Gründe dafür sind das DirectX in der nächsten Version angeblich nicht mehr abwärtskompatibel sein wird( Wobei dieses Gerücht ja auch bei OpenGL rumgeistert )!
Gründe dafür sind, das Microsoft wie auch die OpenGL Hersteller die Abwärtskompatibilität aufgeben zugute einer besseren Struktur und mehr Geschwindigkeit!
Wer mal gesehen hat wie die neue CryTec Engine aussieht( die arbeiten mit Microsoft zusammen ), der wird erstaunt sein was mit DirectX 10( neuen Namen vergesse ich immer wieder ), jetzt auf aktuellen Grafikkarten ohne den Geringsten Ruckler läuft( Stichwörter: Volumetrische Wolken( d.h. nicht nur eine Textur o.ä. ); Areale die die von jedem bisherigem Spiel weit in den Schatten stellen;.... ).
_________________ 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.
Gründe dafür sind, das Microsoft wie auch die OpenGL Hersteller die Abwärtskompatibilität aufgeben zugute einer besseren Struktur und mehr Geschwindigkeit!
So ganz stimmt das nicht. Bei DirectX macht es auf jeden Fall Sinn das Treibermodell dahingehend zu ändern, dass es einen Teil im User und Kernel Modus gibt, aber bei OpenGL war das immer schon so. Der Treiber ist ja eine ganz normale DLL und wie das ganze dann an die Hardware kommt, bleibt dem Hersteller überlassen. Daher hat OpenGL auch nicht diese Geschwindigkeitsprobleme wie D3D bei vielen Funktionsaufrufen. Aus OpenGL Sicht ist das also nicht nötig.
Zitat:
Stimmt nicht, wenn ihr meine Posts abundzu lesen würdet, würdet ihr wissen, das sowohl OpenGL als auch DirectX vermutlich über einen Wrapper laufen werden! Die Gründe dafür sind das DirectX in der nächsten Version angeblich nicht mehr abwärtskompatibel sein wird( Wobei dieses Gerücht ja auch bei OpenGL rumgeistert )!
D3D war aus Benutzersicht noch nie abwärtskompatibel. Es gibt bei jeder Version eine neues IDirect3D? Interface. Aber der Treiber muß abwärtskompatibel sein und das geht ja bei den neuen Treibern jetzt nicht mehr und daher werden nur die alten D3D Versionen über einen Wrapper auf den neuen Treiber umgesetzt, wie man in den entsprechenden Diagrammen sehen kann.
Zitat:
Wer mal gesehen hat wie die neue CryTec Engine aussieht( die arbeiten mit Microsoft zusammen ), der wird erstaunt sein was mit DirectX 10( neuen Namen vergesse ich immer wieder ), jetzt auf aktuellen Grafikkarten ohne den Geringsten Ruckler läuft
Das die FarCry Demo jetzt schneller läuft wird wohl daran liegen, dass dieser Overhead, den es bei OpenGL so nie gab, jetzt auch bei D3D entfällt. Ansonsten habe ich in der Demo nichts gesehen, was man auch nicht jetzt schon machen könnte.
Wirklich interessant finde ich eher die neuen Geometry Shader.
Ah, da weiss jemand besser bescheid( Meine Aussagen waren ja auch zum Teil mein Urteil )!
Trotzdem, das Ergebniss wird dasselbe sein!
_________________ 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.
Registriert: Mo Okt 03, 2005 02:11 Beiträge: 4 Wohnort: Melbourne
Frase hat geschrieben:
@skfink: Wie machst du es jetzt mit den OpenGL-Komponenten?
um ehrlich zu sein....keine Ahnung. Das ganze sollte nur eine Verschönerung eines aktuellen Projektes sein. Einiges kann ich damit erreichen in dem ich 3rd Party Komponenten verwende, aber leider fehlen denen eben die Transparenz Eigenschaft.
Da in einem der ersten GL Tutorials hier (das 2D-Tutorial) geschrieben wurde dass OSX mit OpenGL dargestellt wird, dachte ich mir mein Projekt auch damit zu verfeinern. Die Möglichkeit mit der PaintBox gefällt mir nichts so sehr, aber wird wohl einfacher sein.
Das erste Problem ist für mich dass ich keine Ahnung hab wie ich beginnen soll, z.B. einen TGLButton zu erstellen, da ohne die ganze Fensterinitialisierung die GL Primitive doch gar nicht dargestellt werden. Also ich weiss einfach nicht wie ich die beiden Welten (Standard Delphi Projekt und OpenGL) miteinander verbinden soll damit eine Coexistenz möglich ist.
Also ich empfehle dir erstmal ein Standart Objekt zu machen, welches Eigenschaften( Top, Left, Width, Height, Caption,.... ) und Events wie "OnClick", "OnMouseEnter", "OnMouseLeave",... bindet!
Dannach leitest du das Object immer ab und fügst neue Dinge hinzu, oder überschreibst alte!
Zu jedem Objekt gehört natürlich eine Zeichenroutine!
Wie du das mit dem Context machst weiss ich nicht, ich würde ihn über das ganze Fenster erzeugen und jedes Object mit OpenGL zeichnen!
Das ganze sollte vom eigentlichen Projekt zudem total unabhängig sein, den ich denke kaum das du das nicht wiederverwenden willst wenn du es einmal gemacht hast!
_________________ 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.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Also OpenGL und Windowskomponenten zu mischen ist denke ich mal nicht so gut. Meine Meinung ist, dass du entweder ganz bei Windows bleiben oder komplett auf OpenGL umsteigen solltest. Außer natürlich ihr (du und die Benutzer deines Programs) könnt mit diversen abstrichen leben. Und im Speziellen meine ich da Fokus, Tastaturhandling. Ja. Auch das benötigen gute Komponenten.
Fokus etc. kannst du erreichen in dem die Windowskomponente die den Kontext bekommt, dann auch auf solche Events (OnEnter, OnLeave, OnKeyPress, etc) reagiert. Sobald du aber mehrere Komponenten in dem Kontext laufen lässt ist es praktisch unmöglich, dass sinnvoll zu verwalten. Denn sobald du Tab drücken würdest, würde der Fokus nicht innerhalb des Kontextes die Komponenten wechseln sondern zum nächsten Windows Objekt springen. Für jede OpenGL Komponente einen eigenen Kontext zu erstellen ist auch ein bisschen Crazy. Dafür wurde OpenGL ja nicht konzipiert und das wird man dann auch in der Anwendung merken.
Wenn du lediglich 1-3 Komponenten machen möchtest bei denen Tastatur ziemlich egal ist, dann kann man das auch so machen. Aber alles was darüber hinaus geht würde ich mir noch mal überlegen.
Wobei ich mir auch mal allen ernstes sehr stark darüber gedanken machen würde ob du es 1. überhaupt brauchst und wenn, dann was du genau brauchst und 2. ob es nicht evtl. einen GDI Weg dazu gibt. GDI ist zwar von den Möglichkeiten recht beschränkt aber schließlich werden alle Komponenten bereits damit gemacht. Wenn du mit OpenGL Komponenten änfängst, dann muss die eines klar sein. Und zwar, dass das alles ein sehr großes Gebiet ist. Es ist nicht einfach nur eine Komponente. Schrift braucht man zu meist dann auch noch. Die ist häufig sogar abhängig von den Benutzereinstellungen.
Und je nachdem was man vor hat wirkt es mitunter auch einfach nicht mehr schön. Ich habe schon reichlich Programe gesehen bei denen der Versuch ein bisschen mehr Design hinein zu bringen gnadenlos nach hinten losgegangen ist. Es gibt auch sensatzionelle Ausnahmen. Das sind dann aber oftmals größere Firmen, die entsprechende finanzielle und personelle Stärke besitzen.
Ich will nicht unken aber so ist es nun mal. Zu mindest sehe ich das so. Und über Geschmäcker kann man sich nun mal streiten.
Mitglieder in diesem Forum: 0 Mitglieder und 3 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.