Seite 1 von 1
gl transparente farbe
Verfasst: 23.01.2006 17:18
von xperience2003
hab da wiedermal ein prob mit gl ^^
wie kann ich bei texen die transparente farbe setzen, schwarz dürfte reichen
gibts da nen befehl??
ich habs schon mit blending probiert (siehe rechts), die schwarzen flächen sind dann zwar weg, aber das ganze bild ist ja dann geblendet

Verfasst: 23.01.2006 17:59
von DarkDragon
Beim Laden der Textur wird der Farbwert bestimmt:
Code: Alles auswählen
Procedure LoadAlphaTexture(ID, Filename.s, TransparentColor)
img = LoadImage(#PB_Any, Filename.s)
Width.l=ImageWidth()
Height.l=ImageHeight()
Size.l=Width * Height
Dim ImageData.b(Size*4)
StartDrawing(ImageOutput())
i = 0
For Y=0 To Height-1
For X=0 To Width-1
Color = Point(X,Y)
ImageData(i)=Red(Color)
i+1
ImageData(i)=Green(Color)
i+1
ImageData(i)=Blue(Color)
i+1
If Color = TransparentColor
ImageData(i)=0
Else
ImageData(i)=$FF
EndIf
i+1
Next
Next
StopDrawing()
glGenTextures_(1, @Tex)
glBindTexture_(#GL_TEXTURE_2D, Tex)
glTexParameteri_(#GL_TEXTURE_2D, #GL_TEXTURE_MAG_FILTER, #GL_NEAREST)
glTexParameteri_(#GL_TEXTURE_2D, #GL_TEXTURE_MIN_FILTER, #GL_NEAREST)
glTexImage2D_(#GL_TEXTURE_2D, 0, #GL_RGBA, Width, Height, 0, #GL_RGBA, #GL_UNSIGNED_BYTE, @ImageData())
ProcedureReturn Tex
EndProcedure
Dann bitte noch darauf achten #GL_ALPHA_TEST einzuschalten.
Verfasst: 23.01.2006 18:24
von xperience2003
danke!!!