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

Bild

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!!!