Nicht Quadratische Textur laden
Übersicht

![]() |
EPSBetreff: Nicht Quadratische Textur laden |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi zusammen, ich möchte mir gerne ein Tool schreiben um PNG Bilder (mit Alpha Information) zurecht zu schneiden. Das ganze soll dazu dienen die Einzelbilder einer gerenderten Animation o.ä. auf Texturmaße zu bringen, die Bilder also "quadratisch" zu machen.
Ich hab eine LIB die mir PNG Dateien schreiben kann und dies auch mit den Alpha Informationen. Das ganze hab ich jetzt mal getestet und das funktioniert auch soweit. Das Problem ist, das ich eine PNG mit Alpha Infos nur dann richtig laden kann, wenn ich das Bild als eine Textur lade denn würde ich das Bild als normales 2D Image laden ginge mir ja die Alpha Information verloren. Da die geladene Textur selbst aber schon "quadratisch" sein muß, damit sie nicht verzerrt wird, suche ich eine Möglichkeit, um auch Bilder zu laden die z.B. 320x240 sind. Anders ausgedrückt: Wie kann ich ein 320x240 Bild als eine Textur laden OHNE das es verzerrt wird. Theoretisch könnte man das Bild ja laden, die Textur "von Hand" anlegen (Anhand der Bildmaße) und dann Pixel für Pixel übertragen, aber wie bekomme ich die Alpha Informationen dabei übertragen? Gibt es da eine Möglichkeit? |
||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
lad doch die Textur einfach rein und benutz ql:ScaleTexture. Wenn du die richtigen Paramter benutzt sollte die korrekte Höhe und Breite dabei rauskommen. Beachte dabei, dass B3D immer die kleinste 2er Potenzen Textur benutzt, in der das "Bild" kommplett reinpasst. In deinem Fall also wahrscheinlich 512², wobei du das ja mit ql:TextureWidth rauskriegen kannst. Was es noch zu beachten gibt: Falls du das Programm dann vertreiben wilst, wird das wahrscheinlich brühe. Habe schon einige Erfahrungen gemacht, dass (ich glaube bei Geforce Karten) solche Texturen einfach nicht geladen werden. MfG D2006 |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
EPS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Verkaufen will ich das nicht, ist nur für mich.
Nun zu deiner Idee. Das klappt leider nicht, da die Textur nach dem laden ja bereits verzerrt ist (wenn das Bild z.B. 320x240 ist) und ich sie Pixelgenau benötige. Also auch ein nachträgliches zurechtskalieren würde da nicht helfen. |
||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
fliege |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du kannst es doch auf ein normales quadrat draufpappen, machst halt aus der 320*240 Dimension ein 512*512, oben links dein Bild mit Originalmaßen, den Rest füllst du mit irgendeiner Transparenzfarbe aus. Wenn das Quadrat immer gerade zur kammera schaut, dann kannst du es mit dem picken relativ leicht gestalten:
Du nimmst die Textur vom gepickten entity und schaust dann mittels der mauskoords ob der gepickte Punkt transparent ist oder nicht. Wenn das Quadrat aber nicht gerade in die Kamera sieht, musst du dich mit den UV Koordinaten spielen. Ich hoffe, das hilft, Flige |
||
![]() |
EPS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich möchte die Texture ja gar nicht irgendwo drauf machen, ich möchte die Textur nur "cutten" und diese wieder abspeichern. | ||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
fliege |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dann musst du ja nur die nächste 2er Potenz nehmen und den Rest Transparent malen...
Oder versteh ich da wieder etwas falsch? |
||
![]() |
EPS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jep, tust du ![]() |
||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group