WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Designer Forum (http://www.wcm.at/forum/forumdisplay.php?f=61)
-   -   imagetool.exe (http://www.wcm.at/forum/showthread.php?t=157717)

chrieger 03.02.2005 08:42

imagetool.exe
 
Hallo,

vielleicht extrem speziell, aber vielleicht weiss Jobia Rat.
Ich will das Tool imagetool.exe aufrufen ohne mipmaps erstellt zu bekommen.
Geht das einfach nicht oder mache ich einen Fehler?
Standard mit mipmaps folgt ein neues Bild.
Kann man auch ein Zielverzeichnis angeben, wohin die neue Datei soll?
Danke

Andragar 03.02.2005 09:00

Verstehe ich nicht ganz.

Bei mir erzeugt er nur auf Menüauswahl MipMaps.
Wenn ein Bild schon MM hat werden sie im gleichen Fenster angezeigt.
Nun kann ich sie in Einzelbilder extrahieren...

Beschreib noch mal genau was du meinst. :)

chrieger 03.02.2005 09:18

Ich rede von dem MS Tool, nicht von DXTbmp.
Oder ich habe eine ältere Version...
Ich rufe das Imagetool was im SDK mal dabei war auf, mit verschiedenen Parametern, und die tun nicht alle..

Andragar 03.02.2005 09:22

Nein, nicht DXTbmp.

Ich rufe das File imagetool.exe einfach so auf...

ach so... jetzt verstehe ich. Du willst irgendwelche automatische Konvertierungen machen. :)

chrieger 03.02.2005 09:24

Yes sir,
was für ein Datum hat deine Version?

chrieger 03.02.2005 09:25

Oder besser welche Version

Andragar 03.02.2005 09:26

Version: 1.0.0.3 .... ups... und 1.0.0.2. Hab beide Versionen.
Versuch's mal auf dem Handy. :)
Wo war dazu noch mal eine doku?
Die 1.0.0.3er Version ist in der Terrain SDK.
Die 1.0.0.2er schleppe ich vermutlich noch seit dem FS2002 mit.

chrieger 03.02.2005 09:30

Geht gerade nicht :-)
Kannst du mir die 03 mal irgendwie auf den Server zum download stellen, ich bin nicht zu Hause

chrieger 03.02.2005 09:57

Vielleciht kann man mit der Version auch einen alpha Kanal hinzufügen..

JOBIA 03.02.2005 17:33

Hatte das mal auf meiner Homepage beschrieben wie man genau vorgehen muß.

Aber nimm diese Befehlszeile unten, dann bekommst Du die möglichen Parameter die man in einer Batch in Verbindung mit dem Imagetool verwenden kann.


imagetool -?


Übrigends weis der Teufel warum Microsoft diese Befehlszeile in keiner Dokumentation dokumentiert. Habe das damals mit dem Hex Editor ausgepuselt.


Wichtig bei Konvertierungen werden die neuen Texturdateien mit der Endung .mip erzeugt. Das verhindert das original Texturen überschrieben werden. Man muß bei Vollautomatismus in der Batch also dann die *.BMP Dateien löschen und danach die *.mip Dateien nach *.bmp umbenennen.


Am besten man lässt die Konvertierung in einem Hilfsordner ablaufen damit man sich nichts versaut.

Es ist übrigends möglich bei automatischer DXT1 Konvertierung die MIP Level zu unterbinden. Der Nachsatz -nomip wäre das. Habe ich selbst schon öfter angewendet. Auch Alphakanal ist möglich


Nachsatz ich glaube das mit dem Alphakanal ist beim aktuellen Imagetool der FS2004 SDKs dazugekommen. Vorher gab es das glaube ich nicht. Es wird hier aber RGB Wert 0,0,0 vorausgesetzt.



Ob man Alphakanäle mit mehr Farbtiefe als GrauBitmap die man ähnlich DXT BMP zuführt einbinden kann weis ich nicht.

Was aber beim neuen geht ist Einbindung des TGA Formates. Da wäre ein Alphakanal mit mehr Abstufungen möglich. Leider unterstützt nicht jedes Fotoprogramm das TGA Format.

chrieger 03.02.2005 18:32

Danke Jobia,
ich habe das bereits alles integriert, und Rolf bekommt ein einfaches Tool für zukünftige Entwicklungen.

Schade ist wirklich, dass man kein alpha Bild hinzufügen kann.
So versteh ich zumindest mal all die Befehle.
Aber wie immer ein Armutszeignis, denn die Hilfe ist alles andere als selbsterklärend, aber über 2 Hilfsordner, wo die Dateien wild hin und her kopiert werden, werden jetzt automatisch die Texturen umgewandelt...

JOBIA 03.02.2005 22:20

Wenn Du im TGA Format zuführst geht es mit dem Alphakanl in jedem Fall.

Was -alpha oder -createalpha betrifft, hier scheint in jedem Fall etwas nicht korrekt zu sein. Da muss ich mal schauen wenn ich mehr Zeit habe.

chrieger 04.02.2005 06:59

Ich schau mal ob PaintShop das Format unterstützt.
Ich weiss aber das es irgendwo ein Bildformat gibt mit alphakanal...

Das wäre ja dann sogar noch besser bei der Texture-entwicklung
Gut das ich in der Lage bin die Tools selber zu schreiben, sonst würden wir nochmal 12 Monate brauchen um 12 Plätze zu machen:D

sergio 04.02.2005 11:41

Kleine Hinweise:

Dass die Parameterliste für imagetool mit "–h" angezeigt wird, hat Microsoft im gmax-SDK verraten. Sonst hätte ICH es nie herausgefunden ;-)

Wenn man Bilder im Batch-Modus konvertiert, kann man natürlich auch die gewünschte Dateierweiterung mit "e [string]" angeben. Z.B.:

-dxt1 –mip –e bmp.

„-alpha“ und „-noalpha“ werden zusammen mit „-verify“ benutzt und dienen nur bei der Überprüfung, ob alle Texturen wie gewünscht sind. Im Protokoll wird jeweils angegeben oder nicht angegeben, ob die geprüften Texturen einen Alpha-Kanal haben.
Probiere mal "imagetool.exe -? –alpha"

sergio 04.02.2005 11:44

Noch was: Falls dein Programm kein TGA kann, verdaut imagetool auch PSD mit Alpha, allerdings ohne Ebenen.

JOBIA 04.02.2005 14:52

Kleine Hinweise:

Dass die Parameterliste für imagetool mit "–h" angezeigt wird, hat Microsoft im gmax-SDK verraten. Sonst hätte ICH es nie herausgefunden ;-)

Na das ist ja lustig in der Tat -h funktioniert auch um sich die Möglichkeiten anziegen zu lassen.


Es erscheint das selbe Fenster wie bei meiner Variante oben. Ich habe es wie gesagt damals als es undokumentiert war mit dem Hex Editor ausgepuselt. Hatte mich immer über diese Demo bei Custom Fotoscenery gewundert. Von daher war ich mir sicher das es auch noch andere Möglichkeiten geben muss. Aufgrund dessen habe ich dann gesucht.

chrieger 04.02.2005 19:12

Danke euch, Programm ist soweit fertig, jetzt muss ich nur mal schaun ob auch alle Texturen im FS angezeigt werden wie ich es mir vorstelle.

Weiss jemand was bei dem Parameter mit dem -lm gemacht wird?
Wir haben beim automatischen konvertieren festgestellt, dass die Nachttexturen alle unbrauchbar sind.
Danach hat Rolf alle mit Hand konvertiert...

chrieger 16.02.2005 18:00

Ich muss nochmal auf diesen Thread zurückkommen.
Alles funktioniert, nur nicht der Befehl createalpha. Ich bekomme einfach die erste Farbe in der Palette nicht durchsichtig.

wer hat da schonmal versuche im batchmodus durchgeführt?

Danke
Gruss

sergio 16.02.2005 20:28

Der Befehl -creatalpha für den Batch-Modus von imagetool ist mir unbekannt.

sergio 16.02.2005 20:29

Der Befehl -createalpha für den Batch-Modus von imagetool ist mir unbekannt.

JOBIA 16.02.2005 21:34

Den Befehl gibt es offiziel sergio.

Die Hilfe die man sich anzeigen lassen kann sieht aber irgendwie nicht ganz koscher aus. Da steht RGB und (0,0)



Siehe Bild im Anhang. Ich hätte da mindestens noch eine 0 erwartet.

Dann hätte ich es so ausgelegt das man aus einer Bitmap in dem man den RGB Farbwert wo man Alpha haben möchte in RGB 0,0,0 realisieren muss.

Das bedeutet es muß tief schwarz sein.


Damit dürfte logisch sein das man keine Semitransparenz erzeugen lassen kann.

Ich kann mir nicht vorstellen das sie meinen das der Farbwert des Pixels an X/Y Position 0,0 als Transparenzwert genutzt wird. Das wäre Schwachsinn, aber nicht auszuschliessen.

Probiert habe ich den Befehl auch noch nie.

Mittlerweile kann man die Problematik beim Imagetool aber umgehen, da z.B das TGA Format ohne Probleme genutzt werden kann um Alphas im Imagetool zu erzeugen.

Leider kann aber nicht jedes Fotoprogramm TGA Format.


Ein Manko zumindest bisher bei Corel Photo Paint.

keine Ahnung ob es bei der aktuellen Version unterstützt wird.

Genauso dumm ist das Corel bisher kein RAW Format unterstützt.

sergio 16.02.2005 22:12

Argh! Ich war schon wieder im FS2002-Modus. Ja, du hast recht.
Aber es ist wirklich so, wie dass der erste Pixel für den Alpha-Kanal benutzt wird, und zwar nur bei 32-bittigen Texturen. Siehe beigefügtes Bild. Hattest du "Schwachsinn" gesagt? Hast du wieder recht.

So weit es mir bekannt ist, wird den (die? das?) Color Key Alpha nur bei Szenerie-Texturen verwendet. Aber ich lasse mich gerne noch mal verbessern.

JOBIA 17.02.2005 04:37

Zu

Ich war schon wieder im FS2002-Modus. Ja, du hast recht.
Aber es ist wirklich so, wie dass der erste Pixel für den Alpha-Kanal benutzt wird, und zwar nur bei 32-bittigen Texturen. Siehe beigefügtes Bild. Hattest du "Schwachsinn" gesagt? Hast du wieder recht.


Manchmal verstehe ich Microsoft nicht. Hätte man hier nicht die Definition anders regeln können. Denn dieses Verfahren setzt voraus, dass man immer ein Eckpixel haben wird, welches Transparent ist.

Weil man nur diese Möglichkeit hat darüber die Transparenzdefinition zu regeln.

Letztendlich werden sie natürlich einen Grund gehabt haben. Denn 32Bit werden die meisten Scenerydesigner nicht oft verwenden.


Nur leider fehlt dem Imagetool dadurch immer noch eine weitere Funktion anderweitig sinnvoll Texturen mit Alphakanal automatisch zu erzeugen.

Nicht jeder wird ein Fotoprogramm für TGA Format haben. Einige sind gekniffen.


Ich weis nicht ob ich bei mir die aktuelle DXT BMP Version auf dem PC habe. Mit den bisherigen Versionen konnte man den Aplhakanal bequem erzeugen lassen, aber leider nur gezielt für eine Textur.

Als Automatik über mehrere Texturen hinweg ging nicht.

Da z.B das alte SDK Imagetool hier auch nicht sehr hilfreich war, kann ich mich aber erinnern dieses Problem mit dem guten alten BMP2000 Programm umschifft zu haben.

Ist schon lange her und weis auch nicht mehr genau was ich da gemacht habe bzw. ob ich die Texturen nur mit Aplha vorbereitet habe um sie später mittels Imagetool in ein anderes Format zu konvertieren.


Aber auf jeden Fall konnte man mit dem alten BMP Tool auch automatische Abläufe realisieren.

Ich meine ich habe damals irgendetwas mit Fotoscenery gemacht.



Zu
So weit es mir bekannt ist, wird den (die? das?) Color Key Alpha nur bei Szenerie-Texturen verwendet. Aber ich lasse mich gerne noch mal verbessern.


Ich vermute Christoph wird es eh nur um Scenerytechnik gehen.

chrieger 17.02.2005 07:47

Erstmal Danke euch beide.
Kurz zum Sachverhalt, ich glaube mein Image hatte keine 32bit
Das werde ich also mal noch testen müssen.
Dadurch war eure Diskussion mal wieder extrem Hilfreich.

Hintergrund meiner komischen Fragen:)

Wir haben beim letzten Paket am Ende alles automatisch in DXT umwandeln wollen.
Das ist teilweise durch die Vorarbeit mit BMP2000 passiert (Um 0.0.0 Schwarz auf Durchicht zu stellen.) Danach habe ich mit Hilfe Deiner Batch Datei Jobia die Dateien in DXT1 erzeugt.
Jetzt hat das selektieren der Datein Viel Zeit erfordert, so dass ich für uns ein Tool machen möchte was uns schon in der Entwicklung das Leben einfacher macht.
So werden die Images die wir in unserem Arbeitsverzeichnis haben in 16 Millionen Farben bearbeitet und gespeichert.
Mit dem Tool wähle ich die Dateien aus, um Sie in ein Zielverzeichnis (Flusi) zu kopieren.
Einfach und scnell ohne zwischenspeichern des Bildes, Aufruf in BMP2000 oder DXTBMP....

Und da wollte ich zumindest die Bilder mit Durchsichtigkeiten noch erschlagen:D
Ich gebe euch eine Rückmeldung wenn es geklappt hat. wenn nicht müssen wir doch wieder über BMP2000....:(

chrieger 17.02.2005 07:51

Jetzt werde ich doch etwas stutzig
-32

Heist das 32bit, ich habe aber nur 24bit in Paintshop Pro...
Ich habe aber auch 32K (24bit) Ist das gemeint?

Jobia schlag mich bitte nicht für so eine Frage:cool:

Andragar 17.02.2005 09:14

Paint Shop Pro (zumindest die 6er Version) kann nur 24 bit BMP. Da führt kein Weg am Umwandeln in Imagetool herum. :/ (Jedenfalls nicht, dass ich wüßte. Dafür kann der TGA.

Horst LOWW 17.02.2005 09:16

Hallo,
Für "batch" Konvertierung zu Targa 24 und 32 bit (tga):
http://www.mnwright.btinternet.co.uk...ams/convim.htm
ebenfalls von Martin Wright.

Horst

chrieger 17.02.2005 10:05

@Michael
Danke für Die Idee, ich versuch halt noch einen Schritt vorzuschalten und das Bild erst in 32bit umzuwandeln, bevor es dann durchsichtig wird, hoffentlich.

@Horst, das Programm ist mir Bekannt, bringt mich in diesem Fall leider auch nicht weiter, da ich es über Commandozeile in meinem Programm nicht starten kann.
Trotzdem Danke, denn andere können damit vielleicht mehr anfangen.

chrieger 17.02.2005 16:46

Na langsam weiss ich nicht mehr wer beschauerter ist Microschrott oder ich...
Ich habe jetzt das Bild in 32Bit umgewandelt, was erhalte ich da Farbwerte CMYK, was soll denn das, da steht doch RGB.. Wozu also 32bit, zumal es immernoch nicht geht.
Ich versuche jetzt erstmal noch -alpha und -verify, ich liebe Programme ohne gescheite Doku....

chrieger 17.02.2005 17:10

Nagut scheinbar bin ich zu blöd...
folgende Schritte mach ich jetzt durch

imagetool.exe -DXT1 -noGUI

Geht i.O. bei 256x256 ergibt das irgendetwas über 300k

Dann habe ich verschidene Versuche in allenmöglichen Reihenfolgen durchgemacht.
Die hier erscheint für mich logisch:

imagetool.exe -verify -alpha -noGUI
imagetool.exe -DXT1 -createalpha -noGUI

Aber ich hoffe Jobia oder sergio können mich eines besseren belehren..
Gruss

sergio 17.02.2005 17:46

Ich habe es probiert und bei mir klappt es. Ich habe ein einfaches Bild (roter Kreis auf blauem Hintergrund, 256x256) gemalt und als Photoshop-Datei mit Namen "colorkeyalpha.psd" gespeichert. Hätte auch BMP oder TGA funktioniert. Aber ich benutze immer PSD für meine Master-Texturen, um Verwirrungen zu mindern.

Dann habe Imagetool so aufgerufen:

D:\imagetool\imagetool.exe -32 -createalpha -e bmp colorkeyalpha.psd

Danach habe ich eine 32bittige Textur mit ColorKEy-Alpha namens "colorkeyalpah.bmp" erhalten. Auch DXTBmp zeigt diesen speziellen Alphakanal als solchen an.

Ausschlaggebend ist das Flag "-32". Ohne klappt es nicht. Steht auch in dem Bildchen, das ich in meinem vorherigen Posting beigelegt hatte.

Und dann habe ich noch was gemacht: Ich habe diese 32-bittige Textur mit Imagetool auch im Batch-Modus zu DXT1 verwandelt:

D:\imagetool\imagetool.exe -DXT1 -e bmp colorkeyalpha.bmp

Hat auch geklappt und die Textur hat jetzt einen "richtigen" Alpha-Kanal. Ich hoffe, weiter geholfen zu haben.

chrieger 17.02.2005 18:09

Du hast jetzt blau durchsichtig?
Ich seh immer noch einen schwarzen Masten:(
Aber ich pobier mal noch etwas aus...
Danke

sergio 17.02.2005 18:11

Vielleicht solllte ich noch hinzufügen: Der Alpha-Kanal entspricht allen blauen Bereichen vom RGB-Bild, da der erste Pixel (0,0) eben blau ist.
In Flight Simulator sieht man daher nur den roten Kreis in der Mitte.

chrieger 17.02.2005 18:41

Genau das habe ich jetzt auch rausgefunden
wobei ich mir jetzt die Frage stelle, liegt es an der Farbe des ersten Pixels, oder an der ersten Farbe?
Mit dem ersten Pixel, bei mir oben links, bekomme ich es noch nicht hin, aber ich experimentiere weiter, ich habe zumindest schonmal eine andere Farbe durchsichtig...

chrieger 17.02.2005 18:43

OK, es ist das untere linke Pixel was da die Transparenz bestimmt (0,255) Was ein SchaafsSch...

Also Texturen erneuern und dran denken, das das untere linke Pixel die Durchsichtigkeit beeinflusst.
Danke Sergio, war eine Super Hilfe!
Gruss
Christoph

sergio 17.02.2005 20:58

Gern geschehen, ich hab auch was dazu gelernt.

chrieger 18.02.2005 06:59

Wobei du sicher in einigen Dingen weiter bist als ich:D
Danke nochmal, jetzt wo man es weiss ist es ganz einfach, schade um die vielen Zeilen die ich schon in den Mülleimer geworfen habe...


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag