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

Aktuelle Zeit: Fr Mär 29, 2024 00:43

Foren-Übersicht » DGL » News
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mi Mär 25, 2009 12:35 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Nach 9 Monaten Arbeit an den Specs hat die Khronos Gruppe, verantwortlich für die OpenGL Weiterentwicklung, die Spezifikation für OpenGL3.1 veröffentlich. Dies kann einer Pressemeldung von Khronos entnommen werden.

Das neue Release zeichnet sich durch eine Verschlankung aus, welches dazu führt, dass eine Abwertskompatibilität zu OpenGL1 und 2 nur per ARB Extension verfügbar ist.

Erste Treiber für OpenGL3.0 sind bereits für NVIDIA, ATI uns S3 Chips verfügbar. GL3.1 will NVIDIA (siehe Ankündigung) und ATI mit der nächsten Treiberversion unterstützen.

Ein kurzer Auszug aus den Specs (danke an unseren User Philip):

- Alle als Deprecated makierten Funktionen sind aus dem Kern entfernt (Bye bye glBegin()) und in die Extension GL ARB compatibility ausgelagert.
Neue Funktionen:
- Support for OpenGL Shading Language 1.30 and 1.40.
- Instanced rendering with a per-instance counter accessible to vertex shaders (GL ARB draw instanced).
- Data copying between buffer objects (GL EXT copy buffer).
- Primitive restart (NV primitive restart). Because client enable / disable no longer exists in OpenGL 3.1, the PRIMITIVE RESTART state has become server state, unlike the NV extension where it is client state. As a result, the numeric values assigned to PRIMITIVE RESTART and PRIMITIVE RESTART INDEX differ from the NV versions of those tokens.
- At least 16 texture image units must be accessible to vertex shaders, in addition to the 16 already guaranteed to be accessible to fragment shaders.
- Texture buffer objects (GL ARB texture buffer object).
- Rectangular textures (GL ARB texture rectangle).
- Uniform buffer objects (GL ARB uniform buffer object).
- SNORM texture component formats.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 25, 2009 19:00 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
All dies betrifft aber selbstverständlich nur einen expliziten OpenGL3 kontext und nicht einen "normalen", oder? Also laufen alte Anwendungen immernoch wie gewohnt...?

Und wie nah sind die jetzt an DX10? Würde mich interessieren... Vorallem, da ich jetzt langsam ernsthafter Linux-Nutzer werde. Und die Wrapper für DX9 sind ja in Wine schon ziehmlich gut ;).

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  
BeitragVerfasst: Mo Mär 30, 2009 18:45 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 31, 2005 11:02
Beiträge: 432
Wohnort: Rheinlandpfalz
Flash hat geschrieben:
Alle als Deprecated makierten Funktionen sind aus dem Kern entfernt (Bye bye glBegin())
Ich weiss nicht, aber irgendwie macht mich das traurig... :(
Ist halt schade für die vielen Units, die ausschließlich mit glBegin arbeiten... muss ne Menge umgeschrieben werden. :shock:
Naja, aber dafür sind ja auch tolle Dinge hinzugekommen, und glBegin war wirklich schon etwas antiquiert.

_________________
http://texelviews.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mär 31, 2009 08:10 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Nun. Entgegen der ursprünglichen Ankündigung von OpenGL 3.0 hat sich khronos dazu entschlossen die Kompatibilität zu bestehenden Anwendungen zu erhalten. Da es genügend Anwendungen gibt die nicht mehr weiter entwickelt werden. Wenn die also auf ein Mal alle den Dienst verweigern wäre, dann würde sich OpenGL damit nur einen ziemlichen Bärendienst erweisen. Und das Geschrei wäre noch lauter gewesen als es so schon war.

Entsprechend wurde in OpenGL 3.0 ein neuere aufwärtskompatibler Kontext eingeführt. Diesen gibt es zusätzlich zu dem bereits existierenden normalen 2.0 Kontext. In dem 2.0 Kontext werden offiziell keine neuen Features mehr eingebaut. Sondern das kommt alles in den neuen Kontext. Der neue Kontext muss natürlich auch anders erstellt. Wenn man den Kontext wie bisher erstellt, dann bekommt man nach wie vor nur einen 2.0 Kontext. Und dann ändert sich so spontan erst einmal gar nichts.

NVidia hatte allerdings auch angekündigt einige 3.0 Features in den 2.0 Kontext mit zu übernehmen. Das werden sie aber vermutlich nicht ewig machen.

Zum Erstellen eines 3.0+ Kontextes benötigt man die Erweiterungen WGL_ARB_create_context bzw GLX_ARB_create_context. Wenn man seinen Kontext mit SDL oder der Funktion CreateRenderingContext aus der dglOpenGL.pas erstellt bekommt man aber keinen neuen Kontext. Mit SDL ist es derzeit ziemlich unmöglich OpenGL 3.0+ zu benutzten. Und unter Delphi/Lazarus muss man selber Hand anlegen.

Alle Angaben natürlich nur unter der Vorraussetzung, dass ich das richtig verstanden habe. Die 3.0 Spezifikation fand ich etwas wirr und die 3.1 Spezifikation hatte ich mir noch nicht angesehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mär 31, 2009 10:42 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 03, 2006 14:07
Beiträge: 1277
Wohnort: Wien
Ich hab ein wenig in die Specs geguckt: Sektion "Primitive". Es gibt noch Punkte, Linien und Dreiecke - das wars schon. Manchmal sind aber Polygone nötig. Und der neue Kontext zwingt dazu, diese Polygone selber in Dreiecke zu zerlegen, bevor man sie zur Grafikkarte schickt. Intern muss ich sie allerdings als Polygone speichern, denn wenn der Anwender das Modell neu lädt, will er selbstverständlich seine Polygone wiederhaben.

OpenGL lagert damit Arbeit an seine "Kunden" aus. :evil:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mär 31, 2009 14:02 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Traude hat geschrieben:
Ich hab ein wenig in die Specs geguckt: Sektion "Primitive". Es gibt noch Punkte, Linien und Dreiecke - das wars schon. Manchmal sind aber Polygone nötig. Und der neue Kontext zwingt dazu, diese Polygone selber in Dreiecke zu zerlegen, bevor man sie zur Grafikkarte schickt. Intern muss ich sie allerdings als Polygone speichern, denn wenn der Anwender das Modell neu lädt, will er selbstverständlich seine Polygone wiederhaben.

OpenGL lagert damit Arbeit an seine "Kunden" aus. :evil:


Zeichne einfach als TriangleFan, das tun soweit ich weiß sowieso die meisten Treiber auch.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mär 31, 2009 15:02 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 04, 2008 21:29
Beiträge: 419
Wohnort: Lübeck
zum Glück schreib ich bei mir gerade eh alle Units auf VBOs um :)
Nur an sich finde ich es trotzdem etwas hart, dass dem OGl Nutzer jetzt etwas mehr Arbeit aufgeladen wird, wenn er die neuen Features haben will. Wobei ich aber auf der anderen Seite auch sagen muss, dass es natürlich angebracht ist Steinzeitwerkzeuge wegzuschmeißen wenn man mit ner kleinen Einweisung auch ne Kettensäge benutzen kann. Immerhin habe ich bisher wenige Sachen in OpenGl als schwierig empfunden, da auch wenn man sich länger mit einem bestimmten Gebiet beschäftigen musste, die Lösung immer einleuchtend war (zumindest für mich) und sich auch flüssig einbinden lies. Ein Beispiel dafür sind zum beispiel Shader,FBOs und VBOs. Es wurde hier häufig gemeckert, dass sie so kompliziert seien, aber an sich kann man damit die Standart Rendering Pipeline bereits wunderbar nachbauen, wenn man sich an die Tutorials zu den Themen hält und ein wenig allgemeine Kenntnisse in der genutzten Programmiersprache hat, die man eh haben sollte wenn man mit einer Grafikschnittstelle arbeitet.
Als letztes möchte ich noch sagen, dass es nach wie vor nicht schlimm ist mit der 2.0version zu arbeiten, da die eigentlich auch schon viel leisten kann und die 3.0version meiner Meinung nach nicht soooo viel Überwältigendes bietet was man jetzt unbedingt in seine Projekte basteln muss um glücklich zu werden. Ich geh mal davon aus, das einige Leute hier so manchen neuen Krempel ausprobieren werden, aber das heißt ja nicht , dass man nicht auch einfach auf 2.0 weiter proggen kann, oder ist etwa geplant, das 2.0 komplett im Staub verpulvert?

_________________
Klar Soweit?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Apr 01, 2009 08:33 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Der 2.0er Kontext kann nicht einfach so entfernt werden. Denn der exisiert seit jahren, ist entsprechend etabliert und das wäre ein riesen Imageschaden, wenn die "alten" Sachen urplötzlich nicht mehr laufen würden. Der 2.0er Kontext wird allerdings auch nicht mehr weiterentwickelt. Sondern neue Techniken werden nur noch in dem 3.0+ Kontex eingebaut. Offiziell. Also 2.0 existiert weiterhin nur darf man nicht erwarten, dass man dort in 4 Jahren glSlang 1.9 benutzen kann. Und seinen wir mal ehrlich in der dgl kann man die Leute, die aktuell tatsächlich von 3.0 profitieren würden, ja vermutlich noch an einer Hand abzählen. Ist zu mindest meine Meinung.

Noch was am Rande. Alle diese Änderungen betreffen den 3.0+ Kontext und wenn man auf diesen umsteigt, dann sollte man sich bewusst sein, dass der sehr sehr viel dichter an der Hardware liegt als OpenGL es bisher getan hat. Und genau aus diesem Grund kennt 3.0+ dann eben nur noch Dreiecke. Und wurde mit dem 3.0er Kontext nicht auch die fixed Pipeline komplett als deprecated markiert? Also, dass man wirklich alles nur noch über Shader lösen sollte. Weil das für die Grafikkarten am besten ist (bzw der Treiber es eh schon so macht).


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 06, 2009 17:02 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 29, 2003 00:11
Beiträge: 436
Und die NVidia-Treiber sind draußen:
http://www.heise.de/newsticker/Nachgele ... ung/135846


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 06, 2009 19:05 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Okt 04, 2006 15:42
Beiträge: 78
Wohnort: Bonn
Programmiersprache: Python, C++, Delphi
Mal was anderes:
Jetzt wo GL2 sowiso nicht mehr weiterentwickelt wird - wäre es nicht sinnvoll, OpenGL3 und aufwärts
in eine eigene dglOpenGL.pas zu packen?

Es wäre schon ein bisschen ungünstig, wenn man einen 3er-Kontext verwenden will, aber alle Funktionen
seit dunkelsten GL-Anfängen im Header hat.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 06, 2009 20:03 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Hmm... Warans vorschlag klingt für mich garnicht so schlecht. Sollte zumindest mal ernsthaft in Erwägung gezogen werden.

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 Apr 07, 2009 15:59 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
waran hat geschrieben:
Mal was anderes:
Jetzt wo GL2 sowiso nicht mehr weiterentwickelt wird - wäre es nicht sinnvoll, OpenGL3 und aufwärts in eine eigene dglOpenGL.pas zu packen?

Es wäre schon ein bisschen ungünstig, wenn man einen 3er-Kontext verwenden will, aber alle Funktionen seit dunkelsten GL-Anfängen im Header hat.

Nun ja. Es wird offiziell nicht mehr weiterentwickelt. So weit so richtig. Allerdings heißt das nicht, dass die Hersteller keine Erweiterungen mehr in die 2.0 Kontexte einbauen dürfen. Ich meine NVidia hätte da so etwas schon angekündigt. Also bleibt dort immer Restarbeit vorhanden.

Nichts destro trotz habe ich auch schon über einem eigenen 3.0+ Header nachgedacht. Besonders als ich in der Spec gelesen habe, dass es seperate 3.0+ C++ Header geben soll. Ich persönlich muss aber gestehen, dass ich so lange warte muss bis dieser C++ Header existiert, da ich aus der Spec nicht herleiten kann was nun tatsächlich alles dort enthalten ist und was nicht. Und den gibt es natürlich noch nicht.



Wobei OpenGL 3.0 dort auch witzig ist. Die Funktionen aus 1.0-2.1 sind ja noch in 3.0 enthalten. Aber nur als deprecated gekennzeichnet. In 3.1 sind diese Funktionen größtenteils entfernt worden. Es sei denn die Implementation unterstützt eine Kompatibilitätserweiterung. Was derzeit vermutlich auch alle machen dürften, da die Funtionen sowieso vorhanden sind. Also würde da aktuell eigentlich so ziemlich nichts rausfallen. Zu mindest in meinem Verständniss. Das ist aber nur einer meiner Gedankegänge so am Rande.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Apr 07, 2009 19:13 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 27, 2005 12:44
Beiträge: 393
Wohnort: Berlin
Programmiersprache: Java, C++, Groovy
Hallo,

nun ja wenn man den Link oben verfolgt, versichert zumindestens Nvidia, dass es (verständlicherweise) desweiteren keine Pläne gibt, die alten Funktionen nicht mehr zu unterstützen.

Das hört sich doch schon mal beruhigend an :wink:

Viele Grüße
dj3hut1

_________________
Wenn Gauß heute lebte, wäre er ein Hacker.
Peter Sarnak, Professor an der Princeton University


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Foren-Übersicht » DGL » News


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 41 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.147s | 17 Queries | GZIP : On ]