Sprites-Texturen-Transparenz

Übersicht BlitzBasic Blitz3D

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

 

Dreamora

BeitragMo, Jul 18, 2005 20:36
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Jul 19, 2005 11:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Textur soll sich ja nur alle 5 sekunden ändern
 

Dreamora

BeitragDi, Jul 19, 2005 12:29
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Jul 19, 2005 13:49
Antworten mit Zitat
Benutzer-Profile anzeigen
werde ich versuchen, ich versteh bloß nicht, wieso es nicht einfach so funktioniert.
 

Dreamora

BeitragDi, Jul 19, 2005 14:04
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Jul 19, 2005 19:35
Antworten mit Zitat
Benutzer-Profile anzeigen
geht trotzdem net
 

Dreamora

BeitragDi, Jul 19, 2005 19:57
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Jul 19, 2005 22:26
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Jul 20, 2005 12:06
Antworten mit Zitat
Benutzer-Profile anzeigen
uv-koordinaten?????
 

phiker

BeitragMi, Jul 20, 2005 12:09
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Jul 20, 2005 13:05
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Jul 20, 2005 13:16
Antworten mit Zitat
Benutzer-Profile anzeigen
haben vierecke alpha?
 

Dreamora

BeitragMi, Jul 20, 2005 13:16
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Jul 20, 2005 13:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn, dann schon so:
BlitzBasic: [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
CopyPixelFast sx + x, sy + y, TextureBuffer(source),tx + x, ty + y, TextureBuffer(target)
Next
Next
UnlockBuffer (TextureBuffer(target))
UnlockBuffer (TextureBuffer(source))
End Function
 

Dreamora

BeitragMi, Jul 20, 2005 13:31
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Jul 20, 2005 13:32
Antworten mit Zitat
Benutzer-Profile anzeigen
vierecke durch rect, da funktioniert's nämlich
 

Dreamora

BeitragMi, Jul 20, 2005 13:35
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Jul 20, 2005 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Kanns sein dass du Alpha und Mask verwechselst?

möglich Very Happy
ich meine
BlitzBasic: [AUSKLAPPEN]
SetBuffer TextureBuffer(geile_textur)
Rect 0,0,20,20

funktioniert super mit der transparenz, aber
BlitzBasic: [AUSKLAPPEN]
SetBuffer TextureBuffer(geile_textur)
DrawImage geiles_image,0,0

net
 

Dreamora

BeitragMi, Jul 20, 2005 15:08
Antworten mit Zitat
Benutzer-Profile anzeigen
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.

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group