 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Erni Junior JLI'ler
Anmeldedatum: 29.10.2003 Beiträge: 54
Medaillen: Keine
|
Verfasst am: 20.11.2003, 22:31 Titel: grafik grösse |
|
|
Hi, mein kollege hat mir gerade eine map geschickt und die ist 120 mb gross , als bmp und png files . Da dacht ich mir, komprimier ich alles und machs zu jpg. hab pro file nun 1 mb und die karte sieht immer noch gut aus. Aber, wenn ich eine komprimierte datei ins grafikprogie lade, wird die alte mb grösse des bildes angezeigt . Wie lädt directx komprimierte grafiken, in Originalgrösse oder in der komprimierten Grösse?
Gruss
Ernie |
|
Nach oben |
|
 |
AFE-GmdG JLI MVP


Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 21.11.2003, 01:03 Titel: |
|
|
Um die Daten einer Grafikdatei anzuzeigen oder zu bearbeiten können müssen Sie in unkomprimierter Form vorliegen. DirektX kann die Datei vielleicht lesen, aber im Speicher belegt sie die unkomprimierte Orginalgröße. (also 120 MB)
Schließlich muß die Grafikkarte schnell auf jedes Pixel zugreifen können, um z.B. Texturen zu zeichnen. Da kann Die Grafikkarte nicht jedes mal erst einen Dekomprimierungsalgorithmus ausführen... _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
 |
Erni Junior JLI'ler
Anmeldedatum: 29.10.2003 Beiträge: 54
Medaillen: Keine
|
Verfasst am: 21.11.2003, 01:32 Titel: |
|
|
auweia jetzt sehe ich gerade dass einige files sogar 10 mb haben, dann würde ich glatt auf 240 mb kommen ,für ram doch schon ein wenig heftig. gibts denn keine möglichkeit irgendwie die files zu verkleinern? vielleicht die maps von 24 in 8 umwandeln?
edit: nochmal zum thema komprimierte dateien reinladen. Wieso ist mein bild, was ich zum test auf 0 % komprimierte, auf dx in genauso schlechter qualität wie ichs kompromiert hab, obwohls doch mit voller mb zahl geladen wird? gibts da nicht irgendwein trick oder so komprimierte dateien einzulesn z.b. als sprites`? Bringen indizierte 8bit farben etwas? |
|
Nach oben |
|
 |
AFE-GmdG JLI MVP


Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 21.11.2003, 09:56 Titel: |
|
|
8 Bit würden ca. 3/4 der größe sparen, aber wenn eine Datei vorher 240 MB ist, ist sie danach immernoch 60 MB...
Indizierte Farbpaletten sind genausogut wie 8-Bit-Fabrbwerte nach dem 2-3-2-Prinzip...
Und zum Schluß: Wenn du Dateien als *.jpg speicherst, verlierst du farbinformationen, die unwiederbringlich verloren sind. Also auch beim Laden in ein 24-Bit-DirectX-Surface nicht wieder zurückkommen. _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
 |
Erni Junior JLI'ler
Anmeldedatum: 29.10.2003 Beiträge: 54
Medaillen: Keine
|
Verfasst am: 21.11.2003, 11:18 Titel: |
|
|
AFE-GmdG hat Folgendes geschrieben: |
Und zum Schluß: Wenn du Dateien als *.jpg speicherst, verlierst du farbinformationen, die unwiederbringlich verloren sind. Also auch beim Laden in ein 24-Bit-DirectX-Surface nicht wieder zurückkommen. |
Also ein 0% komprimiertes Bild(400 kb) mit Originalgrösse 10 mb wird in DX in der qualität 0 % geladen mit der originalgrösse 10 mb? |
|
Nach oben |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 21.11.2003, 13:35 Titel: |
|
|
Erni hat Folgendes geschrieben: | AFE-GmdG hat Folgendes geschrieben: |
Und zum Schluß: Wenn du Dateien als *.jpg speicherst, verlierst du farbinformationen, die unwiederbringlich verloren sind. Also auch beim Laden in ein 24-Bit-DirectX-Surface nicht wieder zurückkommen. |
Also ein 0% komprimiertes Bild(400 kb) mit Originalgrösse 10 mb wird in DX in der qualität 0 % geladen mit der originalgrösse 10 mb? |
So ähnlich:
Ein mit 0% Qualitätsverlust komprimiertes Bild(400 kb - is vielleicht ein bisschen untertrieben ) mit Originalgröße 10 MB wird in DX mit dem Qualitätsverlust geladen und dekomprimiert, der beim Speichern eingestellt wurde.
PS: Wenn du keine Verluste haben willst, kannst du auch *.png oder *.gif nehmen(wobei man AFAIK bei *.gif auf 16-Bit runterschalten muss, d.h. eine 256 Palette benutzen muss). _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
 |
AFE-GmdG JLI MVP


Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 21.11.2003, 18:24 Titel: |
|
|
nicht 16, sondern nur 8 Bit - wobei die beschränkung auf 256 Farben richtig angedeutet wurde.
Ich würde Gif aber nicht mehr empfehlen, da es ein Lizensiertes Format ist nd man eigendlich Lizenzgebüren bezahlen müsste, wenn man es in einem eigenem Programm verwenden wöllte... _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 21.11.2003, 18:29 Titel: |
|
|
Die Idee irgendwelche Algorithmen oder Techniken rechtlich schützen zu lassen ist Schwachsin. In Amerika muss man ja nun schon Geld zahlen wenn man den Ladebalken verwenden möchte.
MAch dein Bild einfach in der Grösse kleiner es gibt ja ehe ne maximale Grössenbegrenzung bei den meisten Grafikkarten. Nutze IrfanView dazu das kann das recht gut. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
 |
Zyrian Super JLI'ler

Anmeldedatum: 30.08.2003 Beiträge: 321 Wohnort: Essen Medaillen: Keine
|
Verfasst am: 21.11.2003, 19:10 Titel: |
|
|
Ich bekomm das mit dem Laden von .png Bildern mit libPNG einfach nicht hin
Kann hier mir pls einer helfen und vielleicht etwas Beispielcode posten, wie man ein png Bild lädt? Bitte, das Manual von libPNG check ich nich, weil da zum Teil IMHO widersprüchliches drinsteht.
mfg
#C _________________ Schau mir in die Augen, Kleines. |
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 21.11.2003, 19:12 Titel: |
|
|
Kann das DX-Framework nicht png Files laden, oder waren das nur tga Files ? _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
 |
Zyrian Super JLI'ler

Anmeldedatum: 30.08.2003 Beiträge: 321 Wohnort: Essen Medaillen: Keine
|
|
Nach oben |
|
 |
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 21.11.2003, 23:25 Titel: |
|
|
png's kannst du doch eh ganz normal laden mit D3DXCreateTextureFromFileEx(), oder versteh ich was falsch? |
|
Nach oben |
|
 |
Zyrian Super JLI'ler

Anmeldedatum: 30.08.2003 Beiträge: 321 Wohnort: Essen Medaillen: Keine
|
Verfasst am: 21.11.2003, 23:56 Titel: |
|
|
Inwiefern ist das verwendbar mit einem 2D Game? Ich kenn mich mit Direct3D net aus. _________________ Schau mir in die Augen, Kleines. |
|
Nach oben |
|
 |
Erni Junior JLI'ler
Anmeldedatum: 29.10.2003 Beiträge: 54
Medaillen: Keine
|
Verfasst am: 22.11.2003, 12:33 Titel: |
|
|
Zyrian hat Folgendes geschrieben: | Inwiefern ist das verwendbar mit einem 2D Game? Ich kenn mich mit Direct3D net aus. |
Du kannst deine gesamte gamewelt mit d3dcreatetexture.. sprites in 2d erzeugen wenn du lustig bist. meine welt besteht jedenfalss fast aus solchen texturen. Sind leichter anzuwenden wenns ums scrollen geht etc. , meiner erfahrung dazu.
Wollte aber noch einmal nachhaken. Hab mit PS 7 eine grafik geladen, diese auf 5 mb verkleinert mit indizierung, reale grösse ist nun auch 5 mb. dann speicher ich das bild ohne Komprimierung als png ab und auf der platte hats dann 3,37 mb . Wie wird nun das unkomprimierte png bild geladen, mit 5 mb oder 3,37 mb??
Gruss Ernie |
|
Nach oben |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 22.11.2003, 13:47 Titel: |
|
|
Das weiß ich jetzt nicht genau, aber die Grafik wird auf jeden Fall vor dem Laden bzw. während dem Laden dekomprimiert. Es kann sein, dass es aber in ein solches Format komprimiert wird, in dem schon ein paar (für das Grafikprogramm) irrelevanten Informationen weggelassen wurden.
Ich hab auch mal ein komprimiertes Bild (in M$ Paint) geöffnet und wieder gespeichert. AFAIK wurde dann auch nur die gekürzte Farbpalette gespeichert. _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|