Aktuelle Zeit: 20.09.2019 04:18

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 18 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: Falsche Farben und Text bei OpengL
BeitragVerfasst: 28.04.2018 11:38 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Hallo Leute!

1. Frage:
Wie bekomme ich die richtigen Farben bei einer OpenGL-Textur ?

2. Frage:
Wie könnte man am besten Text in OpenGL darstellen ?

Ein Bild als Text-Textur zu verwenden wäre eine Lösung, aber gibt es bessere ?

Hier mal ein kleines Beispiel:

Code:
; ImportC "-lglut"
;   glutBitmapCharacter(font, character)
; EndImport

UsePNGImageDecoder()
UseJPEGImageDecoder()

#IMG_24 = 0
#IMG_32 = 1

#GL_CLAMP_TO_EDGE=$812F

Global GTex.i
Global img_w.i, img_h.i

Procedure glDraw3DColor(col)
  Protected r.f, g.f, b.f
  r = (1 / 255 * Red(col))
  g = (1 / 255 * Green(col))
  b = (1 / 255 * Blue(col))
  glColor3f_(r,g,b)
EndProcedure

Procedure glClear()
  glClear_(#GL_COLOR_BUFFER_BIT | #GL_DEPTH_BUFFER_BIT)
EndProcedure

Procedure glDraw3DPoint(x.f,y.f,z.f)
  glPushMatrix_()
  glMatrixMode_(#GL_MODELVIEW)
  glBegin_(#GL_POINTS)
  glVertex3f_(x,y,z)
  glEnd_()
  glPopMatrix_()
  glFinish_()
EndProcedure

Procedure glDraw3DLine(x1.f,y1.f,z1.f,x2.f,y2.f,z2.f)
  glPushMatrix_()
  glMatrixMode_(#GL_MODELVIEW)
  glBegin_(#GL_LINE_STRIP)
  glVertex3f_(x1,y1,z1)
  glVertex3f_(x2,y2,z2)
  glEnd_()
  glPopMatrix_()
  glFinish_()
EndProcedure

Procedure glDraw3DBox(x1.f,y1.f,z1.f,w.f,h.f,flag.b=#False)
  glPushMatrix_()
  glMatrixMode_(#GL_MODELVIEW)
  If flag = #True
    ;FILLED
    glBegin_(#GL_QUADS)
    glVertex3f_(x1,y1,z1)
    glVertex3f_(x1+w,y1,z1)
    glVertex3f_(x1+w,y1+h,z1)
    glVertex3f_(x1,y1+h,z1)
    glEnd_()
  ElseIf flag = #False
    ;UNFILLED
    glBegin_(#GL_LINE_LOOP)
    glVertex3f_(x1,y1,z1)
    glVertex3f_(x1+w,y1,z1)
    glVertex3f_(x1+w,y1+h,z1)
    glVertex3f_(x1,y1+h,z1)
    glVertex3f_(x1,y1,z1)
    glEnd_()
  EndIf
  glPopMatrix_()
  glFinish_()
EndProcedure

Procedure glDraw3DEllipse(x.f,y.f,z.f,rx.f,ry.f,flag.b=#False)
  Protected i=0, n
  If rx > ry
    n = rx*10
  Else
    n = ry*10
  EndIf
  glPushMatrix_()
  glMatrixMode_(#GL_MODELVIEW)
  If flag = #True
    ;FILLED
    glBegin_(#GL_POLYGON)
    For i = 0 To n
      glVertex3f_(rx * Cos(i) + x, ry * Sin(i) + y, z)
    Next i
    glEnd_()
  ElseIf flag = #False
    ;UNFILLED
    glBegin_(#GL_POINTS)
    For i = 0 To n
      glVertex3f_(rx * Cos(i) + x, ry * Sin(i) + y, z)
    Next i
    glEnd_()
  EndIf
  glPopMatrix_()
  glFinish_()
EndProcedure

Procedure glDraw3DTriangle(x1.f,y1.f,z1.f,x2.f,y2.f,z2.f,x3.f,y3.f,z3.f,flag.b=#False)
  glPushMatrix_()
  glMatrixMode_(#GL_MODELVIEW)
  If flag = #True
    ;FILLED
    glBegin_(#GL_TRIANGLES)
    glVertex3f_(x1,y1,z1)
    glVertex3f_(x2,y2,z2)
    glVertex3f_(x3,y3,z3)
    glEnd_()
  ElseIf flag = #False
    ;UNFILLED
    glBegin_(#GL_LINE_LOOP)
    glVertex3f_(x1,y1,z1)
    glVertex3f_(x1+w,y1,z1)
    glVertex3f_(x1+w,y1+h,z1)
    glVertex3f_(x1,y1+h,z1)
    glVertex3f_(x1,y1,z1)
    glEnd_()
  EndIf
  glPopMatrix_()
  glFinish_()
EndProcedure

Procedure glDraw3DArc(x.f,y.f,r.f,startAngle.f,drawAngle.f,z.f)
  Protected n = r*10, i = 0
  Protected ta.f = Radian(-drawAngle) / (n-1)
  Protected tf.f = Tan(ta)
  Protected rf.f = Cos(ta)
  Protected xx.f = r * Cos(Radian(-startAngle))
  Protected yy.f = r * Sin(Radian(-startAngle))
  Protected tx.f, ty.f
  glPushMatrix_()
  glMatrixMode_(#GL_MODELVIEW)
  glBegin_(#GL_POINTS)
  For i = 0 To n
    glVertex3f_(xx + x, yy + y, z)
    tx = -yy
    ty = xx
    xx + tx * tf
    yy + ty * tf
    xx * rf
    yy * rf
  Next  i
  glEnd_()
  glPopMatrix_()
  glFinish_()
EndProcedure

Procedure.i glCreateImage(ImageID.i,Type.i)
  ;Protected.i img_w, img_h
  Protected.i MemID, TexID
 
  If IsImage(ImageID) = 0
    ProcedureReturn #False
  EndIf
 
  glGenTextures_(1, @TexID)
  glBindTexture_(#GL_TEXTURE_2D, TexID)
 
  If StartDrawing(ImageOutput(ImageID))
    MemID = DrawingBuffer()
    StopDrawing()
  EndIf
 
  If MemID = 0
    ProcedureReturn #False
  EndIf
 
  img_w = ImageWidth(ImageID)
  img_h = ImageHeight(ImageID)
 
  If Type = 1
    glTexImage2D_(#GL_TEXTURE_2D, 0, 4, img_w, img_h, 0, #GL_RGBA, #GL_UNSIGNED_BYTE, MemID)
  Else
    glTexImage2D_(#GL_TEXTURE_2D, 0, #GL_RGBA, img_w, img_h, 0, #GL_RGB, #GL_UNSIGNED_BYTE, MemID)
  EndIf
 
 
  glTexParameteri_(#GL_TEXTURE_2D, #GL_TEXTURE_MIN_FILTER, #GL_LINEAR)
  glTexParameteri_(#GL_TEXTURE_2D, #GL_TEXTURE_MAG_FILTER, #GL_LINEAR)
  ;   glTexParameteri_(#GL_TEXTURE_2D, #GL_TEXTURE_WRAP_S, #GL_CLAMP_TO_EDGE)
  ;   glTexParameteri_(#GL_TEXTURE_2D, #GL_TEXTURE_WRAP_T, #GL_CLAMP_TO_EDGE)
 
  ProcedureReturn TexID
EndProcedure

Procedure glDraw3DImage(x.f,y.f,z.f,TexID.i)
  glPushMatrix_()
  glMatrixMode_(#GL_MODELVIEW)
  glBindTexture_(#GL_TEXTURE_2D, TexID)
  glEnable_(#GL_TEXTURE_2D)
  glBegin_(#GL_POLYGON)
  glTexCoord3f_(0,0,z)
  glVertex3f_(x,y,z)
  glTexCoord3f_(1,0,z)
  glVertex3f_(x+img_w,y,z)
  glTexCoord3f_(1,1,z)
  glVertex3f_(x+img_w,y+img_h,z)
  glTexCoord3f_(0,1,z)
  glVertex3f_(x,y+img_h,z)
  glEnd_()
  glDisable_(#GL_TEXTURE_2D)
  glBindTexture_(#GL_TEXTURE_2D, 0)
  ;glFlush_()
 
  glPopMatrix_()
  glFinish_()
EndProcedure

Procedure glDraw3DText(x.f,y.f,z.f,text.s) ;TODO
  If text=""
    ProcedureReturn #False
  EndIf
  glRasterPos3f_(x,y,z)
EndProcedure

Procedure glRender()
  SetGadgetAttribute(GadgetHandle, #PB_OpenGL_SetContext, #True)
  ;glDisable_(#GL_LIGHTING)
  glClear()
 
  glDraw3DColor(RGB(255,255,0))
 
  glDraw3DText(0,20,0,"Hallo!") ;TODO
 
  For t = 0 To 100
    glDraw3DPoint(600+t,200,0)
  Next t
  glDraw3DLine(5,300,0,795,300,0)
  glDraw3DColor(RGB(255,0,255))
  glDraw3DBox(300,40,0,200,200,1)
  glDraw3DColor(RGB(255,0,0))
  glDraw3DEllipse(400,400,2,40,40,0)
  glDraw3DTriangle(10,200,0,200,200,0,105,100,0,1)
  glDraw3DArc(100, 500, 90, 0, 270, 0)
  glDraw3DColor(RGB(255,255,0))
  glDraw3DImage(300,320,0,GTex)
  ;glDraw3DBox(300,320,1,128,128,1)
  glFinish_()
  SetGadgetAttribute(0, #PB_OpenGL_FlipBuffers, #True)
EndProcedure

Procedure glInit()
  ;glMatrixMode_(#GL_MODELVIEW)
  glOrtho_(0.0, WindowWidth(0), WindowHeight(0), 0.0, -10.0, 10.0)
  glEnable_(#GL_SMOOTH)
  glEnable_(#GL_DEPTH_TEST)
  glEnable_(#GL_TEXTURE_2D)
  ;glPolygonMode_(#GL_FRONT_AND_BACK, #GL_LINE_SMOOTH)
  glViewport_(0, 0, WindowWidth(0), WindowHeight(0))
EndProcedure

Procedure glError(Result, Text$)
  If Result = 0
    MessageRequester("Error", Text$, 0)
    End
  EndIf
EndProcedure

CreateImage(0, 128, 128, 24)
StartDrawing(ImageOutput(0))
Box(0, 0, 64, 64, RGB(255,0,0))
Box(64, 0, 64, 64, RGB(0,255,0))
Box(0, 64, 64, 64, RGB(0,255,255))
Box(64, 64, 64, 64, RGB(255,255,255))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(10, 100, "Wrong Color", RGB(0,0,0))
StopDrawing()

OpenWindow(0, 0, 0, 800, 600, "OpenGL - Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered |#PB_Window_SizeGadget | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)

OpenGLGadget(0, 0, 0, WindowWidth(0), WindowHeight(0))

glInit()

GTex = glCreateImage(0,#IMG_24)

AddWindowTimer(0, 1, 16)

Repeat
  Event = WaitWindowEvent()
 
  Select Event
    Case #PB_Event_SizeWindow
      ResizeGadget(0, #Null, #Null, WindowWidth(0), WindowHeight(0))
     
    Case #PB_Event_Timer
      If EventTimer() = 1
        glRender()
      EndIf
  EndSelect
 
Until Event = #PB_Event_CloseWindow


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Falsche Farben und Text bei OpengL
BeitragVerfasst: 28.04.2018 23:53 
Offline
Benutzeravatar

Registriert: 25.09.2016 01:42
Gehen die Farben damit ?
Code:
If Type = 1
    glTexImage2D_(#GL_TEXTURE_2D, 0, 4, img_w, img_h, 0, #GL_BGRA_EXT, #GL_UNSIGNED_BYTE, MemID)
  Else
    glTexImage2D_(#GL_TEXTURE_2D, 0, 3, img_w, img_h, 0, #GL_BGR_EXT, #GL_UNSIGNED_BYTE, MemID)
  EndIf

_________________

Links:
PureBasic Discord
[ENGINE] 2D Engine Nautilus (Win)
[INCLUDE] GLFW 3.3 Library
[MODULE] Bass Library 2.4 (Win)
[LIBRARY] Hexi Binary2Hex (Win)



Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Falsche Farben und Text bei OpengL
BeitragVerfasst: 29.04.2018 00:01 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Nein!

Wenn ich es so mache ist die Darstellung komplett falsch!

Mijikai hat geschrieben:
Gehen die Farben damit ?
Code:
If Type = 1
glTexImage2D_(#GL_TEXTURE_2D, 0, 4, img_w, img_h, 0, #GL_BGRA_EXT, #GL_UNSIGNED_BYTE, MemID)
Else
glTexImage2D_(#GL_TEXTURE_2D, 0, 3, img_w, img_h, 0, #GL_BGR_EXT, #GL_UNSIGNED_BYTE, MemID)
EndIf


-> Quadrat oben links : schwarz
-> Quadrat oben rechts: grün
-> Quadrat unten links: gelb
-> Quadrat unten rechts: gelb

...gewollt ist aber:

-> Quadrat oben links : rot
-> Quadrat oben rechts: grün
-> Quadrat unten links: hellblau
-> Quadrat unten rechts: weiß

Außerdem unterscheidet sich die Farbdarstellung auch komplett zwischen Windows und Linux.
(Bei keiner Änderung im Quelltext)

Bei Linux wird die Schrift auch korrekt angezeigt.
Bei Windows wird die Schrift umgedreht dargestellt.

Alles sehr komisch.

Auch solche Versuche:

(Code-Ausschnitt)
Code:
*PngImg = EncodeImage(ImageID, #PB_ImagePlugin_PNG, 0, 24)
 
  CatchImage(0, *PngImg)
 
  If StartDrawing(ImageOutput(0))
    MemID = DrawingBuffer()
    StopDrawing()
  EndIf

liefern das selbe Ergebnis. (Mal schlechter, mal etwas besser (von der Kompression), aber an den Farben ändert sich nichts.)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Falsche Farben und Text bei OpengL
BeitragVerfasst: 29.04.2018 01:31 
Offline
Benutzeravatar

Registriert: 20.06.2013 23:27
Geht es evtl um so etwas?

Bild


kann da mehr liefern

VG

_________________
PureBasic v5.30 + v5.44 LTS + v5.62 | Windows 7 x64 - Gforce GTX 950 - AMD FX6200 Six Core 3.80 | 26GB RAM


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Falsche Farben und Text bei OpengL
BeitragVerfasst: 29.04.2018 01:46 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Ähhmmm ??? !

Das Thema bereitet mir echt zu großes “Kopfzerbrechen“.

Ich geh jetzt schlafen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Falsche Farben und Text bei OpengL
BeitragVerfasst: 29.04.2018 07:46 
Offline
Kommando SG1
Benutzeravatar

Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Du musst auch beachten, wie das Image seine Daten Speichert:
DrawingBufferPixelFormat(), DrawingBufferPitch()

Ich glaube nicht, dass du bei jeder Imagebreite einfach so den DrawingBuffer() nutzen kannst, weil halt der Pitch größer sein könnte als der Inhalt, vorallem bei 24Bit images.

Außerdem wird der Buffer ungülig wenn du StopDrawing aufrufst:
DrawingBuffer() hat geschrieben:
Sobald StopDrawing() aufgerufen wurde, wird der Puffer ungültig und kann nicht mehr verwendet werden.

Hier mal meine Variante:
Code:
Procedure.i    ImageToTexture(Image.i)
   
   Protected iBytes.i, iFormat.i, *Buffer, *Pos, Y.i, LastY = ImageHeight(Image)-1
   Protected Width.i = ImageWidth(Image), Time.i
   
   If StartDrawing(ImageOutput(Image))
      If DrawingBufferPixelFormat() & #PB_PixelFormat_24Bits_RGB
         iBytes = 3 : iFormat = #GL_RGB
      EndIf
      If DrawingBufferPixelFormat() & #PB_PixelFormat_24Bits_BGR
         iBytes = 3 : iFormat = #GL_BGR
      EndIf
      If DrawingBufferPixelFormat() & #PB_PixelFormat_32Bits_RGB
         iBytes = 4 : iFormat = #GL_RGBA
      EndIf
      If DrawingBufferPixelFormat() & #PB_PixelFormat_32Bits_BGR
         iBytes = 4 : iFormat = #GL_BGRA
      EndIf
      *Buffer = AllocateMemory(ImageWidth(Image)*ImageHeight(Image)*iBytes) : *Pos = *Buffer
      If DrawingBufferPixelFormat() & #PB_PixelFormat_ReversedY
         For Y = LastY To 0 Step -1
            CopyMemory(DrawingBuffer()+DrawingBufferPitch()*Y, *Pos, Width*iBytes)
            *Pos + Width*iBytes
         Next
      Else
         For Y = 0 To LastY Step 1
            CopyMemory(DrawingBuffer()+DrawingBufferPitch()*Y, *Pos, Width*iBytes)
            *Pos + Width*iBytes
         Next
      EndIf
      glTexImage2D_(#GL_TEXTURE_2D, 0, #GL_RGBA, ImageWidth(Image), ImageHeight(Image), 0, iFormat, #GL_UNSIGNED_BYTE, *Buffer)
      FreeMemory(*Buffer)
      StopDrawing()
   EndIf
   
EndProcedure

_________________
Bild
 
BildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Falsche Farben und Text bei OpengL
BeitragVerfasst: 29.04.2018 08:45 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Hallo STARGÅTE

Code:
#GL_BGR = $80E0 ; Test!: Es gibt keine GL_BGR - Konstante (in kleinem gl.h  (gl2/gl3/etc.)
#GL_BGRA = $80E1 ; Test!: Es gibt keine GL_BGRA - Konstante (in kleinem gl.h  (gl2/gl3/etc.)

Procedure.i ImageToTexture(Image.i)
   
   Protected iBytes.i, iFormat.i, *Buffer, *Pos, Y.i, LastY = ImageHeight(Image)-1
   Protected Width.i = ImageWidth(Image), Time.i
   Protected TexID
   
   img_w = ImageWidth(Image)
   img_h = ImageHeight(Image)
   
   If StartDrawing(ImageOutput(Image))
     If DrawingBufferPixelFormat() & #PB_PixelFormat_24Bits_RGB
       iBytes = 3 : iFormat = #GL_RGB
     EndIf
     If DrawingBufferPixelFormat() & #PB_PixelFormat_24Bits_BGR
       iBytes = 3 : iFormat = #GL_BGR
     EndIf
     If DrawingBufferPixelFormat() & #PB_PixelFormat_32Bits_RGB
       iBytes = 4 : iFormat = #GL_RGBA
     EndIf
     If DrawingBufferPixelFormat() & #PB_PixelFormat_32Bits_BGR
       iBytes = 4 : iFormat = #GL_BGRA
     EndIf
     *Buffer = AllocateMemory(ImageWidth(Image)*ImageHeight(Image)*iBytes) : *Pos = *Buffer
     If DrawingBufferPixelFormat() & #PB_PixelFormat_ReversedY
       For Y = LastY To 0 Step -1
         CopyMemory(DrawingBuffer()+DrawingBufferPitch()*Y, *Pos, Width*iBytes)
         *Pos + Width*iBytes
       Next
     Else
       For Y = 0 To LastY Step 1
         CopyMemory(DrawingBuffer()+DrawingBufferPitch()*Y, *Pos, Width*iBytes)
         *Pos + Width*iBytes
       Next
     EndIf
     
     glGenTextures_(1, @TexID)
     glBindTexture_(#GL_TEXTURE_2D, TexID)
     
     glTexImage2D_(#GL_TEXTURE_2D, 0, #GL_RGBA, ImageWidth(Image), ImageHeight(Image), 0, iFormat, #GL_UNSIGNED_BYTE, *Buffer)
     
     glTexParameteri_(#GL_TEXTURE_2D, #GL_TEXTURE_MIN_FILTER, #GL_LINEAR)
     glTexParameteri_(#GL_TEXTURE_2D, #GL_TEXTURE_MAG_FILTER, #GL_LINEAR)
     
     FreeMemory(*Buffer)
     StopDrawing()
   EndIf

   ProcedureReturn TexID 
EndProcedure


Das ändert leider bei mir nichts an der fehlerhaften Farbausgabe.

Das Problem muss an anderer Stelle liegen.

(Unter Windows wird auch die komplette Textur umgedreht dargestellt ohne das ich etwas am Quellcode ändere.
Unter Linux stimmt zumindest die Ausrichtung der Textur.) ;deprecated *siehe unten

Aber die Farben sind in beiden Fällen falsch.

-> Quadrat oben links : rot (reiner Zufall)
-> Quadrat oben rechts: grün (reiner Zufall)
-> Quadrat unten links: grün
-> Quadrat unten rechts: gelb

...gewollt ist aber:

-> Quadrat oben links : rot
-> Quadrat oben rechts: grün
-> Quadrat unten links: hellblau
-> Quadrat unten rechts: weiß

->(Die Text ist schwarz und steht zumindest unter Linux an der korrekten Position.) ;deprecated *siehe unten

*Upps!: Dein Code bringt doch eine kleine Verbesserung.

Unter Windows und Linux wird jetzt wenigstens der Text gleich angezeigt. (Die Ausrichtung stimmt jetzt in beiden Fällen)
Aber die Farben sind trotzdem (gleich) falsch.

Was mir Aufgefallen ist:

Irgendwie schneidet OpenGL den kompletten Blau-Wert der Farbe ab.

Warum?

Besteht das Problem bei euch Anderen eigentlich auch? Oder habe ich hier einen Hardware/Software - Sonderfall ?
Bitte unter Windows/Linux /von mir aus auch Mac testen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Falsche Farben und Text bei OpengL
BeitragVerfasst: 29.04.2018 10:29 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Hallo!

Ich habe den Fehler gefunden:

Man muss die Farbe erst wieder zurücksetzen.
Dies hatte ich nicht getan.

Code:
Procedure glDraw3DImage(x.f,y.f,z.f,TexID.i)
  glPushMatrix_()
  glMatrixMode_(#GL_MODELVIEW)
  glColor4f_(1.0,1.0,1.0,1.0) ;WICHTIG!
  glBindTexture_(#GL_TEXTURE_2D, TexID)
  glBegin_(#GL_QUADS)
  glTexCoord3f_(0,0,z)
  glVertex3f_(x,y,z)
  glTexCoord3f_(1,0,z)
  glVertex3f_(x+img_w,y,z)
  glTexCoord3f_(1,1,z)
  glVertex3f_(x+img_w,y+img_h,z)
  glTexCoord3f_(0,1,z)
  glVertex3f_(x,y+img_h,z)
  glEnd_()
  ;glFlush_()
  glBindTexture_(#GL_TEXTURE_2D, 0)
  glPopMatrix_()
  glFinish_()
EndProcedure


Oh je!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Falsche Farben und Text bei OpengL
BeitragVerfasst: 29.04.2018 15:28 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Toll ich kann jetzt wunderbar mehrere Texturen laden und verwalten.

Für Textausgabe möchte ich auch gerne Texturen verwenden.

Jetzt kommt die Frage!

Wie kann man transparente Texturen erstellen ?

Danke für jede evtl. Hilfe.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Falsche Farben und Text bei OpengL
BeitragVerfasst: 29.04.2018 15:43 
Offline
Kommando SG1
Benutzeravatar

Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Verseteh die Frage nicht.
Deine Texture hat doch schon einen Alpha Kanal (#GL_RGBA).
Du musst halt die richten Sachen von den rendern einschalten: glEnable(), glBlendFunc(), #GL_BLEND, #GL_ALPHA_TEST usw.

_________________
Bild
 
BildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 18 Beiträge ]  Gehe zu Seite 1, 2  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye