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

Aktuelle Zeit: Do Mär 28, 2024 19:54

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



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: DDS Loader
BeitragVerfasst: Di Feb 10, 2004 21:32 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Etwas gefrustet, weil ich mir gerade das NVidia Texture Pack runtergeladen hatte ( http://developer.nvidia.com/object/IO_TTVol_01.html ), dieses mir aber wenig nützte, weil alle Texturen im DirectX DDS Format vorlagen, habe ich mich hingesetzt und einen einfachen OpenGL DDS Loader von C nach Delphi konvertiert.

Der Loader ist denkbar einfach: die DDS Datei wird geladen und an die aktive Textur gebunden (in Carad wird das Ganze in einem TGraphic Abkömmling gekapselt, der sich das Bild wieder aus der Textur rausholt, sodass die ganze Konvertierarbeit an sich OpenGL macht).
Da die Unit sehr kurz ist, und keinen BaseGraph spezifischen Code enthält, stelle ich sie mal online - vielleicht nützt der Code ja dem einen oder anderen Texturlader.


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 11, 2004 08:28 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 12, 2002 07:15
Beiträge: 916
Wohnort: Dietzhölztal / Hessen
Programmiersprache: C/C++, Obj-C
Es gibt nur ein Problem: hast Du Dir die Lizenz der DDS-Texturen von nVidia mal angesehen? Ist ziemlich mies und deswegen fast unbrauchbar.

_________________
Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 11, 2004 12:17 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Pfft -da hast du recht. Ich war davon ausgegangen dass man die Texturen zumindest in Freeware oder Open Source verwenden kann, wenn sie NVidia schon online stellt - soo toll sind sie ja nun auch wieder nicht - was wieder mal zeigt, dass Lizenzbestimmungen tatsächlich auch zum Lesen da sind :wink: .

Immerhin funktioniert der DDS-Texturenlader einwandfrei (vorausgesetzt die der Grafiktreiber unterstützt S3TC Dekompression, was aber die meisten halbwegs aktuellen Windows OpenGL Treiber tun sollten, da dies ein fester Bestandteil von Direct3D ist) - das ARB ist bei komprimierten Texturen einen flexibleren Weg gegangen, der keinen Algorithmus vorschreibt, es dafür schwieriger macht komprimierte Texturen zwischen unterschiedlichen Grafikkarten zu transferieren (in der Praxis wird aber dennoch in fast allen Fällen S3TC verwendet).

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 11, 2004 17:07 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Danke für den tollen Loader, auch wenn das DDS-Format nicht unbedingt ein Muss ist, so hat es doch einige (aufgrund seiner Zielgruppe wohl logische) Vorteile ggü. anderen Formaten.
Ich finds z.B. ganz nett, dass man nun von Hand in einer Datei alle Mip-Map-Stufen einer Textur bearbeiten kann. Hab das dann auch mal schamlos ausgenutzt und ne einfarbige Texture gemacht bei der die Mip-Map-Stufen jeweils ne andere Farbe haben, um mal in Aktion zu sehen wie die Radeon je nach Winkel der Fläche anisotrop filtert.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 11, 2004 23:15 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Schön dass der Code schon praktischen Nutzen gefunden hat :wink: . Wie generierst du denn deine DDS Dateien? PhotoShop?

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 11, 2004 23:21 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Ja, da gibts ja das nette DSS-Plugin, mit dem man diese Dateien sowohl laden als auch speichern kann. Alternativ ist das Plugin übrigens auch mit dem kostenlosen GIMP nutzbar, das mir aber aufgrund seiner von Windows so stark abweichenden GUI absolut nicht zusagt.

Das Teil strotzt übrigens nur so vor funktionen; quasi alles wovon ein 3D-Programmierer so Nachts träumt ;) :


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 11, 2004 23:42 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Höh, das ist ja wirklich cool. An sich wäre mir Gimp ja sympathischer, da nicht kommerziell, werde mir das wirklich mal ansehen müssen.
Auf der NVidia Homepage gibt es auch C++ Code für den direkten Import und Export von S3TC Bilddaten (also ganz ohne OpenGL). Wäre eventuell direkt überlegenswert DDS als allgemeines Texturformat für BaseGraph zu verwenden (bis jetzt nehme ich 32 Bit TGA Dateien und ein proprietäres eigenes Format für 1D- und 3D-Texturen sowie Cubemaps).
Mal schauen, wieviel Aufwand das wäre - ganz glücklich bin ich nämlich nicht darüber, dass der DDS Loader S3TC OpenGL Unterstützung praktisch erzwingt (obwohl der Code dafür schön kurz ist).
Es wäre zwar kein Problem für den Im- und Export DirectX heranzuziehen, dann ist aber die schöne Linux-Kompatibilität futsch.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


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


Wer ist online?

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