Sprites-Texturen-Transparenz
Übersicht

Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dann wird Sprite ziemlich langsam mit 200 verschiedenen Texturen. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
phiker |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Die Textur soll sich ja nur alle 5 sekunden ändern | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du wirst das Bild über LoadTexture laden müssen und danach per LockBuffer - WritePixelFast - ReadPixelFast die Daten auslesen und transferieren müssen, wenn du Alpha willst. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
phiker |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
werde ich versuchen, ich versteh bloß nicht, wieso es nicht einfach so funktioniert. | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Weil Images kein Alpha unterstützen, sondern nur die Farben rot, grün und blau, da man kein Alpha in 2d zeichnen kann ... | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
phiker |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
geht trotzdem net | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Was geht nicht?
Hier eine Funktion zum kopieren eines Texturauschnittes in eine andere Textur: (nicht getestet und hat auch keine sicherheitsabfragen um sicher zu stellen das nicht über die texturgrenzen zugegriffen wird) Code: [AUSKLAPPEN] Function DrawTexRect (source,target,sx,sy,w,h,tx,ty) lockbuffer (texturebuffer(source)) lockbuffer (texturebuffer(target)) for x = 0 to w-1 for y = 0 to h-1 writepixelfast tx + x, ty + y, readpixelfast (sx + x, sy + y, texturebuffer(source)), texturebuffer (target) next next unlockbuffer (target) unlockbuffer (source) end function wenn die Texturen mit Alphaflag geladen wurden und überhaupt alpha besitzen (nur TGA und PNG!), dann wird dadurch auch die Alphainformation kopiert. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Anstatt mit Texturen rumzukopieren könnte man natürlich einfach nur die UV-Koordinaten anpassen... | ||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
phiker |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
uv-koordinaten????? | ||
phiker |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dreamora hat Folgendes geschrieben: Hier eine Funktion zum kopieren eines Texturauschnittes in eine andere Textur: (nicht getestet und hat auch keine sicherheitsabfragen um sicher zu stellen das nicht über die texturgrenzen zugegriffen wird) ich will aber von image in textur, außerdem mache ich es genauso wie du und es geht net. alphamap besitzt die textur ja, weil ich bei createtexture 7 (1+2+4: colormap+alphamap+schwarz transparent) angegeben habe |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok nochmal: Images haben KEIN Alpha, da kannst du auch kein Alpha auslesen.
Wenn du Alpha auf eine Textur zeichnen willst, nutze obere Funktion und lade das, was du bis jetzt als Image zum zeichnen nutzt einfach als Textur mit Alpha Flag, dann müsste es gehen. Und wenn du weiterhin auf Image bestehst: Tut mir leid, geht nicht, images haben nur rot-grün-blau aber kein Alpha! |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
phiker |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
haben vierecke alpha? | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Was für 4 Ecke?
Nur 3D Objekte haben alpha (also alles was mit loadmesh rein kommt sowie die standard objekte und sprite) |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
phiker |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn, dann schon so:
BlitzBasic: [AUSKLAPPEN]
|
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sofern der Befehl in B3D auch existiert, dann schon.
Allerdings macht er das gleiche wie die Funktion oben auch. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
phiker |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
vierecke durch rect, da funktioniert's nämlich | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Und wo hat ein rect eine Textur?
Kanns sein dass du Alpha und Mask verwechselst? |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
phiker |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: Kanns sein dass du Alpha und Mask verwechselst?
möglich ![]() ich meine BlitzBasic: [AUSKLAPPEN] SetBuffer TextureBuffer(geile_textur) funktioniert super mit der transparenz, aber BlitzBasic: [AUSKLAPPEN] SetBuffer TextureBuffer(geile_textur) net |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Beim Image wird nicht gezeichnet, was der MaskColor entspricht, Normalerweise ist das schwarz (0,0,0), was nicht gezeichnet wird ... vielleicht liegts daran (jpg besitzt kein wirkliches 0,0,0) | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group