gl transparente farbe

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
xperience2003
Beiträge: 972
Registriert: 04.10.2004 18:42
Computerausstattung: Amiga, LinuxMint, Windows7
Wohnort: gotha
Kontaktdaten:

gl transparente farbe

Beitrag 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
amiga rulez...
Rebirth Software
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag 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.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
xperience2003
Beiträge: 972
Registriert: 04.10.2004 18:42
Computerausstattung: Amiga, LinuxMint, Windows7
Wohnort: gotha
Kontaktdaten:

Beitrag von xperience2003 »

danke!!!
amiga rulez...
Rebirth Software
Antworten