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

Aktuelle Zeit: Do Feb 25, 2021 17:37

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



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Do Aug 03, 2006 03:08 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2025
Programmiersprache: C++
Gestern wurden bei OpenGL.org die Spezifikationen für OpenGL 2.1 und GLSL 1.20 veröffentlicht.

OpenGL 2.1
  • OpenGL 2.1 fähige Treiber müssen mindestens GLSL 1.20 unterstützen.
  • Pixelbufferobjekte wurden mit dem Interfaces von den Vertexbufferobjekten erweitert, so kann man jetzt folgendes:
    • Wenn das PBO mit PIXEL_PACK_BUFFER gebunden wurde, schreiben Kommandos wie glReadPixels die Daten in das PBO.
    • Mit PIXEL_UNPACK_BUFFER gebunden, lesen Kommandos wie DrawPixels oder glTexImage ihre Daten aus dem PBO.
  • sRGB Texturen:
    Aktuelle Texturformate sind linear aufgebaut, was aber nicht dem Monitor entspricht, wo es nicht linear ist. So ist sRGB an Bildschirme in einem leicht gedämmten Büro angepasst, um genauer zu sein, nach Standart IEC 61966-2-1.
    Das Ganze entstammt der Erweiterung GL_EXT_texture_sRGB, wobei im Gegensatz zu den EXT-Spezifikationen keine speziellen komprimierten Formate für sRGB übernohmen wurden, sondern die allgemeinen Formate bleiben.
  • andere Änderungen:
    • Das Informationslog von program objects kann nun sowie Link- und Validierungsinformationen beinhalten.
    • Bei DrawPixel und ähnlichen existiert eine current raster secondary color die mit CURRENT_RASTER_SECONDARY_COLOR abgefragt werden kann.
    • GL_PERSPECTIVE_CORRECTION_HINT (->glHint) wird unnötig, da es bei allen Fragmentattributen ausser der Tiefe perspektivisch korrekte Interpolation benötigt wird und somit gesetzt ist.
    • Bei folgenden Parameter von glTexParameter wurden der Datentyp von integer zu enum gewechselt:
      • TEXTURE_WRAP_S
      • TEXTURE_WRAP_T
      • TEXTURE_WRAP_R
      • TEXTURE_MIN_FILTER
      • TEXTURE_MAG_FILTER
    • Bei glPushAttrib und glPopAttrib wurde in den Notizen hinzugefügt, dass alle Texturobjektparameter gepusht und gepoppt werden, wenn TEXTURE_BIT in der Attributmaske gesetzt wurde.

GLSL 1.20
  • gl_PointCoord für Fragmentshader hinzugefügt um die Fragmentposition innerhalb einer point sprite abzufragen.
  • Arrays sind erste Klasse Objekte und haben jetzt Konstruktoren, man kann sie vergleichen (gleiche Länge als Vorraussetzung), man kann die Länge abfragen length() und weiterem.
  • Arraykonstruktoren ohne festgelegte Grösse sind erlaubt (Es wird aber denoch ein Array mit festgelegter Länge).
  • Nichtquadratische Matrizen werden unterstützt.
  • Matrizen vom Typ Matrix sind erlaubt.
  • Die Funktion transpose() wurde hinzugefügt.
  • Verschiedene 'compilation' Units können verschiedene für verschiedene GLSL-Versionen sein.
  • Weitere Namen reserviert:
    • lowp
    • mediump
    • highp
    • precision
  • "f" wird nun als Teil einer Float-Konstante akzeptiert:
    Code:
    1. float g = 3.5f
  • Automatische Konvertierung Integer zu Float, wenn es im Kontext benötigt wird.
    (Kommentar: Strike! Kein Problem mit mit ATI-Karten für Programmierer mit NVIDA-Karten)

Und noch ein paar weitere Änderungen, die ich zu faul bin zu übersetzen/nicht übersetzen kann:
  • Support centroid interpolation on multi-sample varyings.
  • Add C++ style name hiding rules
  • Allow initializers on uniform declarations. The value is set at link time.
  • Allow built-in function calls in const initializers.



ARB & Khronos

Auch ist es jetzt offiziell, dass die ARB die Kontrolle der OpenGL-Spezifikationen an Khronos übergibt. Das Ganze soll im dritten Quartal von 2006 abgeschlossen sein.
Mehr dazu hier.


Error: Out of coffee EOF


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Aug 03, 2006 11:44 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Danke i0n0s für die umfangreiche News! Wann kann man denn mit Treibersupport für OGL 2.1 rechnen? Irgendwie krieg ich das nie mit...


i0n0s hat geschrieben:
Strike! Kein Problem mit mit ATI-Karten für Programmierer mit NVIDA-Karten


Allerdings! Über diesen Stolperstein bin ich nur so oft auf die Schnauze gefallen.

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 03, 2006 12:47 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
GLSL:
Alles in allem leider nur sehr wenige wirkliche Neuerungen. Das sind ja außer gl_PointCoord alles Dinge die man mit Cg schon vor 3-4 Jahren hätte haben können (und hatte). Das Problem mit den Integer Konstanten war ja sowieso völliger Unsinn. Die Länge der Arrays in Cg kann von dem Hauptprogramm aus dynamisch gesetzt werden, was ja hier auch nicht geht. Gerade weil der Compiler im Treiber ist, hätte man hier viel mehr Möglichkeiten als wenn immer noch das Vertex Programm erzeugt werden muß. Schade.
Man kann nur hoffen, dass jetzt nicht zu viele GLSL Versionen erscheinen und das GLSL endlich mal in Spielen benutzt wird, damit die Treiber besser werden.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 03, 2006 14:07 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 04, 2006 12:54
Beiträge: 263
Ich denke einige entscheidende Dinge sind jetzt mit GLSL möglich. Die inversen und transponierten Matrizen. Vieles wurde erst einmal an CG angeglichen (Matrizen) Außerdem scheint es jetzt möglich zu sein indizierte Konstantenarrays zu verwenden. Prinzipell hätten die auch gleich mal die halffloats mit aufnehmen können, wenn ein hersteller die nicht unterstützen will könnte der dann einfach die normalen Floats verwenden. (Verwenden kann man die trotzdem aber man muss für ATI Karten das mit einem #define umbiegen)

Das mit den Pixelbufferobjekten klingt aber interresant, aber irgend wie hab ich bis jetzt die Framebufferobjekte beforzugt. Mal schauen wie render2vertexbuffer funktionieren wird und ob es möglich ist eine RGBA_FLoat16 textur nach S3TC zu casten...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 14, 2006 09:36 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7772
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Die Änderungen sollte man gleich mal im Wiki hinterlegen.

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


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


Wer ist online?

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