Textur auf Textur kopieren (schnelle Methoden?)

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Chrise

Betreff: Textur auf Textur kopieren (schnelle Methoden?)

BeitragMi, März 03, 2010 2:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo beisammen!
KriD und ich zerbrechen uns jetzt schon seit geraumer Zeit darüber den Kopf, wie wir eine Textur (gedreht oder ggf. skaliert) auf eine andere Textur skalieren können (beachtet hierbei: Alphawert soll unbedingt erhalten bleiben!)

Gibt es eine Möglichkeit das zu realisieren, ohne mühsam Read und Write-pixel befehle anwenden zu müssen?

Vielen Dank an alle, die vielleicht eine geschickte Idee kennen!

lg Chrise
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Mr.Keks

BeitragMi, März 03, 2010 4:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Der einzig sinnvolle Weg ist vermutlich, ein Sprite mit der alten Textur auf die neue zu rendern. Weiß nicht, wie es aktuell mit RenderToTexture aussieht, vor ein paar Jahren gab es ja die Lib von Tom, mit der das ordentlich ging, und diese FastExt (habe ich nicht gekauft, darum kA) sollte es auch auf jeden Fall können. Mit WritePixel und co sollte es untragbar langsam sein.
MrKeks.net

Chrise

BeitragMi, März 03, 2010 14:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Mr.Keks hat Folgendes geschrieben:
Der einzig sinnvolle Weg ist vermutlich, ein Sprite mit der alten Textur auf die neue zu rendern. Weiß nicht, wie es aktuell mit RenderToTexture aussieht, vor ein paar Jahren gab es ja die Lib von Tom, mit der das ordentlich ging, und diese FastExt (habe ich nicht gekauft, darum kA) sollte es auch auf jeden Fall können. Mit WritePixel und co sollte es untragbar langsam sein.


Also ich habe mir genau wegen den Post-processinggründen und dem RendertoTexture die FastExtenshion gekauft. Leider wurde ich eben bei diesem Problem stark davon enttäuscht. Entweder ich mache etwas falsch oder die Alpha-werte der Textur (des Pinsels) werden nicht richtig gerendert. Eigentlich sollte es ja gehen und das wundert mich ja so. Ich werde mal nach der Lib von Tom suchen, und es dann berichten, falls ich das Problem gelöst habe bzw. eine Methode gefunden habe. Danke! Smile
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Mr.Keks

BeitragMi, März 03, 2010 15:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du den CameraClsMode entsprechend gesetzt für das Alpha-Rendern?
MrKeks.net

Chrise

BeitragMi, März 03, 2010 15:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Mr.Keks hat Folgendes geschrieben:
Hast du den CameraClsMode entsprechend gesetzt für das Alpha-Rendern?


ansich hab ich alle 4 kombinationen durchprobiert (0,0 - 0,1 - 1,0 - 1,1)
Aber was müsste ich ansich setzen, damit Alpha richtig gerendert wird?

Damit könnte ich die Fehlersuche vielleicht schon etwas mehr eingerenzen. Wink
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Mr.Keks

BeitragMi, März 03, 2010 15:52
Antworten mit Zitat
Benutzer-Profile anzeigen
0,1 ... Wenn die Textur, auf die du renderst transparent ist... Aber in mir keimt auch gerade der Verdacht, dass Blitz den Alpha zur Verrechnung mit den alten Farben verbrät, statt ihn zu schreiben. Hrm. Sorry, das hilft wohl doch nicht.
MrKeks.net

Chrise

BeitragMi, März 03, 2010 15:56
Antworten mit Zitat
Benutzer-Profile anzeigen
jap, ich habe gerade festgestellt, dass Blitz3D irgendwie den Alpha-wert selbst auch zwangsweise zeichnet.
http://www.npshare.de/files/090e4bec/bild1.png

Der blaue Strich wurde erst danach gemalt und bestitz eine geringere Deckkraft wie das Türkis. Das Türkis ist allerdings deckender. Blitz3D macht das hier so, als würde er das Alpha als eine Art radiergummi verwenden anstatt Alpha-werte zu addieren oO
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Xaymar

ehemals "Cgamer"

BeitragMi, März 03, 2010 16:09
Antworten mit Zitat
Benutzer-Profile anzeigen
-> EntityBlend <-
Es liegt am Blendmode, Standard ist afaik "Mittelwert"(2)

Mr.Keks hat Folgendes geschrieben:
Weiß nicht, wie es aktuell mit RenderToTexture aussieht, vor ein paar Jahren gab es ja die Lib von Tom, mit der das ordentlich ging, und diese FastExt (habe ich nicht gekauft, darum kA) sollte es auch auf jeden Fall können

Ja sie kann es. Und zwar sogar ziemlich schnell. schneller als copyrect^^. wenn mans dann auch noch auf riesige oder kleine texturen skalieren muss gibts CopyRectStretch, 100x schneller als mit writepixel usw zu arbeiten, aber langsamer als es direkt im richtigen format zu haben
Warbseite

Chrise

BeitragMi, März 03, 2010 18:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Cgamer hat Folgendes geschrieben:
-> EntityBlend <-
Es liegt am Blendmode, Standard ist afaik "Mittelwert"(2)


Hab jetzt alle Blend-methoden durchprobiert. Funktioniert irgednwie genauso wenig. Entweder (bei manchen Modi) werden überhaupt keine Farben bei ColorG3D akzeptiert, oder es erscheint der selbe Fehler wie vorher.
Wobei ich auch schon die Vermutung hatte, dass es an Blend liegen könnte....

EDIT: so habs nun doch endlich hingekriegt!
Es funktioniert mit der FE_ALPHAMODULATE-Funktion bei TExtureblend der Extenshion lib. Thx an alle die mich unterstützt haben!
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group