Seite 1 von 4

OpenGL Blending

Verfasst: 03.09.2008 20:49
von X0r
Ist das eigentlich normal, dass bei

Code: Alles auswählen

  glColor4f_(1.0,1.0,1.0,1.0)
  glBlendFunc_(#GL_SRC_ALPHA,#GL_ONE); 
das entity trotzdem transparent dargestellt wird, obwohl a.f=1.0 ist?

Verfasst: 03.09.2008 20:57
von Andreas_S
man kann transparenz nur erziehlen wenn eine texture auf dem poly liegt...

Verfasst: 03.09.2008 20:57
von X0r
Der cube ist texturiert.

Verfasst: 03.09.2008 20:59
von Kaeru Gaman
ich weiß nicht, wie es bei openGL ist,
aber bei POV ist die vierte Komponente des Vectors Transparency oder Translucency,
und das bedeutet dass 1.0 voll transparent und 0.0 undurchsichtig ist.

Verfasst: 03.09.2008 21:02
von X0r
Bei OpenGL ist das anscheinend umgekehrt. Aber was ich nicht verstehe ist, warum das entity bei 1.0 immernoch transparent erscheint.

Verfasst: 03.09.2008 21:03
von Andreas_S
glBlendFunc_()

wird beim initiieren der gl verwendet...
poste mal die ganze draw-rutine

edit:
hör jetzt mal mit entity auf...

edit2:
nein, bei dieser gl ist 1.0 der normal wert, da die werte die mit glColor()
angegeben werden mutipliziert werden

Verfasst: 03.09.2008 21:09
von X0r
>poste mal die ganze draw-rutine
Wird nicht viel bringen, da ich schon ein Entity-System programmiert habe.

So sehe das dann aus:

Code: Alles auswählen

 glClear_(#GL_COLOR_BUFFER_BIT | #GL_DEPTH_BUFFER_BIT) 
  glMatrixMode_(#GL_MODELVIEW) 
  glLoadIdentity_()

  glEnable_(#gl_blend)
  
  
  glColor4f_(1.0,1.0,1.0,1.0)
  glBlendFunc_(#GL_SRC_ALPHA,#GL_ONE); 
  glBindTexture_(#GL_TEXTURE_2D,texb)
  
  glTranslatef_(600.0, 500.0+t.f,0.0) ;Object positioning
  glRotatef_(t,0.0,0.0,1.0);
  glTranslatef_(-50.0,-50.0,0.0) ;Vector positioning
  
  glBegin_(#GL_QUADS)
  glTexCoord2f_(0.0, 0.0): glVertex3f_(0.0, 0.0, 0.0)
  glTexCoord2f_(0.0, 1.0):glVertex3f_(0.0, 100.0, 0.0)
  glTexCoord2f_(1.0, 1.0):glVertex3f_(100.0, 100.0, 0.0)
  glTexCoord2f_(1.0, 0.0):glVertex3f_(100.0,0.0, 0.0)
  glEnd_() 
  
  gldisable_(#gl_blend)
  ;...
  
(Verwende glortho)


>hör jetzt mal mit entity auf...
lol?`

Verfasst: 03.09.2008 21:24
von Andreas_S
glBlendFunc_()
wird beim initiieren der gl verwendet...
>> Vector positioning
man kann einen Vektor nicht positionieren -.-

Code: Alles auswählen

  glTranslatef_(600.0, 500.0+t.f,0.0) ;Object positioning
  glRotatef_(t,0.0,0.0,1.0);
  glTranslatef_(-50.0,-50.0,0.0) ;Vector positioning 
was stellst du dir datunter vor?

edit:
nix lol...
vil. solltest du eher mal die mathematik können...

Verfasst: 03.09.2008 21:35
von X0r
>> Vector positioning
man kann einen Vektor nicht positionieren -.-
Kann man auch nicht, genauso wenig wie man "Objekte" positionieren kann(Ist dir wohl während der Fehlersuche nicht aufgefallen -_- )
Das habe ich nur so hingeschrieben...(musst du jetzt nicht verstehen, ist auch vollkommen egal).
Code:
glTranslatef_(600.0, 500.0+t.f,0.0) ;Object positioning
glRotatef_(t,0.0,0.0,1.0);
glTranslatef_(-50.0,-50.0,0.0) ;Vector positioning

was stellst du dir datunter vor?
Sagt dir das jetzt garnix?
edit:
nix lol...
vil. solltest du eher mal die mathematik können...
Was hat Mathematik mit einem Entity zu tun?(Und übrigens kann ich Mathe).
Findest du es nicht ein bisschen deppig mich erst zu "beleidigen", hinterher per PN zu fragen wie ich dies und das in InstallForge gemacht habe und hinterher wieder der selbe Müll?

Verfasst: 03.09.2008 21:38
von Andreas_S
Ok du Mathechenie, kann mir schon vorstellen wie du mit Matrizen rechnest...

Ich wollte lediglich wissen, was du denst was dies tun soll... aber du weichst
wieder einmal der Frage aus...