Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
3DLabs stellen ihren Open-Source OpenGL Shader-Compiler nun auch für Linux zur Verfügung,so das nun neben Windows auch unter diesem Betriebssystem Shaderprogramme in der für OpenGL1.5 als Extension und in OpenGL2.0 als Corefeature kommenden glSlang-HLSL kompiliert und geparst werden können.Hoffentlich ist dies wieder ein weiterer Schritt in Richtung OpenGL1.5,bleibt nur noch abzuwarten wann die großen Grafikkartenhersteller nun endlich auch Treiber mit Unterstützung für die neue Version anbieten.
Bist du sicher, dass HLSL "nur" eine Extension von OpenGL 1.5 sein soll? Ich dachte es kommt bereits schon in OpenGL 1.5 als CoreFeature hinein (gemeinsam mit noch ein paar anderen Sachen, wie Texturen beliebiger Ausdehnung - sonst wäre ja nicht grad viel Unterschied von OpenGL 1.5 zu OpenGL 1.4).
Kann mich natürlich auch täuschen.
Hmm, das heißt dann ja, dass Grafikkartenhersteller theoretisch einen OpenGL 1.5 Treiber rausbringen können, ohne HLSL zu unterstützen. Nachdem GL_ARB_vertex_program und GL_ARB_fragment_program auch "nur" offizielle Erweiterungen sind, dauert's dann wohl tatsächlich bis OpenGL 2.0, bis Per Pixel Operationen eine einheitliche Schnittstelle zur Verfügung gestellt bekommen, die nicht in irgendeinem Treiberrelease plötzlich wieder verschwunden sein kann.
Obwohl - wird eine Erweiterung oft genug verwendet, ist es relativ unwahrscheinlich, dass sie sang- und klanglos den Weg alles Irdischen geht .
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Soweit ich das mitbekommen hab,sind alle ARB-Extensions die mit OpenGL 1.5 kommen wirklich nur Extensions und werden erst mit OpenGL 2.0 (also ~2020 wenn so weitergeht ) als Corefeatures in die neue GL-Version übernommen.Konkret heisst das also das selbst GF4-Karten GL1.5 teilweise unterstützen können.
BTW, GF4 haben ja Vertex Shader 1.3 und Pixel-Shader 1.2 auf dem Board (oder andersrum). D3D 8 Standard eben. Kann ich diese unter OpeNGL eigentlich auch nutzen? Ohne Cg & spezielle Extension von nVidia?
_________________ Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Wenn ich mich recht entsinne ist OpenGL 1.5 ja "bloß" dazwischen geschoben worden. Weil es sonst zu lange gedauert hätte oder so was.
Ich hatte vor einem Monat auch einen lustigen Treiber von einer uralten Karte. Eigentlich konnte diese nur OpenGL 1.1 Also gerade mal Multitexturing (2 TU's). Aber im Treiber stand als Version 1.15. Das hatte natürlich die Units verwirrt und somit dachten sie es wäre Version 1.15 und nicht 1.1.5! Also superneu. Ich persönlich halte mich von daher lieber an die Extensions als mich an eine Version zu halten. Wenn eine Extension unterstützt wird dann kann ich zu 100% auch davon ausgehen das die Funktionalität auch wirklich existiert. Und im Endeffekt ist es ja auch egal wo die Technologie herkommt, oder etwa nicht?
SchodMC: Das kommt auf den Treiber drauf an. Eine TNT2 kann mit neuen Treiber ja auch VBO's. Allerdings nur Software.
@GF 3 und 4
Man kann schon Per Pixel Operationen drauf ausführen - aber halt (wie bei ATI 8500 bis 9200) nur über herstellerspezifische Extensions
@OpenGL Version
stimmt schon - nur finde ich es auch praktisch Code schreiben zu können, der auf einem Grafiktreiber ab einer bestimmten Version garantiert läuft, ohne mich darum kümmern zu müssen, ob eine bestimmte Erweiterung nun unterstützt wird oder nicht.
Außerdem kann man sich bei der OpenGL Core Spezifikation drauf verlassen, dass die auch beibehalten wird (insofern ist es ja verständlich, dass die Entwickler eher vorsichtig damit sind, was nun wirklich hineinkommt).
Ich glaube auch nicht mehr daran das OpenGL 2.0 in absehbarer Zeit erscheint, aber das ist auch gar nicht mehr nötig wenn glSlang in den Treibern ist. Weil es eine ARB Extension ist, wird es vermutlich sowieso von den wichtigsten Herstellern ATI und NVidia eingebaut. Viele Funktionen aus dem ursprünglichen Entwurf von GL2 wie z.B. die Vertex Buffer, sind ja heutzutage in anderer Form in OpenGL enthalten. Da fehlen jetzt eigentlich nur noch die Super Buffer und ARB_pixel_buffer_object als anerkannte Extensions. glSlang soll ja Ende des Jahres kommen und dann ist OpenGL erstmal vollständig. Die Vertex Programme können ja zur Not auch auf älteren Karten auf der CPU laufen und solange man keine bedingten Sprünge in Fragment Programmen verwendet, sollten die eigentlich alle zu arb_fp kompilierbar sein. Ich finde es gut, daß der Shader Compiler direkt im Treiber intergriert ist und nicht wie bei D3D extern erst nach Assembler kompiliert, weil es damit endlich möglich ist ein für alle mal diese verschiedenen Assembler Extensions wie arb_vp,nv_vp 1-3 usw.. zu vergessen. Kleiner Nachteil ist, daß es dann im Gegensatz zu D3D nicht möglich ist andere Sprachen als glSlang zu verwenden, aber dafür hat man dann endlich mal einen Standard.
Mitglieder in diesem Forum: 0 Mitglieder und 2 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.