Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jul 05, 2025 11:33

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Alpha-Channel im VBO
BeitragVerfasst: Fr Aug 30, 2013 23:52 
Offline
DGL Member

Registriert: Di Aug 21, 2012 19:31
Beiträge: 173
Programmiersprache: C#
Hi, ich fange gerade wieder an mit OpenGL zu arbeiten weil ich ein paar Teile meine BA veranschaulichen möchte.

Ich würde gern ein Objekt mittels VBO "halbdurchsichtig" darstellen.
Ich hatte gehofft es würde reichen im "ColorBuffer" eine RGBA-Angabe zu machen und den alpha-Channel mit 0.5 zu belegen.



Code:
  1.  
  2. Vec4d color = new Vec4d(1, 1, 1, 0.5);
  3.  
  4. if (faceGroup.useColorBuffer) {
  5.                 var colors = faceGroup.getColorList();
  6.                 int colorHanlde = 0;
  7.                 GL.GenBuffers(1, out colorHanlde);
  8.                 vbo.ColorHandle = colorHanlde;
  9.                 GL.BindBuffer(BufferTarget.ArrayBuffer, vbo.ColorHandle);
  10.                 GL.BufferData<Vector4d>(BufferTarget.ArrayBuffer,
  11.                     (IntPtr)(colors.Count * 4 * sizeof(double)),
  12.                     colors.ToArray(), BufferUsageHint.StaticDraw);
  13.     }

Allerdings nehmen die Objekte nur die Farbe an und werden nicht "durchsichtig".

Muss ich hier mit Blending arbeiten?

Grüße
Jan

_________________
ack nack nack nack nack


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Alpha-Channel im VBO
BeitragVerfasst: Sa Aug 31, 2013 07:57 
Offline
Compliance Officer
Benutzeravatar

Registriert: So Aug 08, 2010 08:37
Beiträge: 460
Programmiersprache: C / C++ / Lua
[Du brauchst:

Code:
  1.  
  2. glEnable(GL_ALPHA_TEST);
  3. glAlphaFunc(GL_GREATER, 0.1);
  4.  


siehe: http://wiki.delphigl.com/index.php/glAlphaFunc]

EDIT: Falsch, s.u.

_________________
offizieller DGL Compliance Beauftragter
Never run a changing system! (oder so)


Zuletzt geändert von end am Sa Aug 31, 2013 08:30, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Alpha-Channel im VBO
BeitragVerfasst: Sa Aug 31, 2013 08:12 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 14, 2013 21:17
Beiträge: 588
Programmiersprache: C++
So wie ich das verstanden habe, brauchst du eher Alpha-Blending, nicht Alphatesting. Beim Blending legt der Alphalkanal fest, wie durchsichtig ein Objekt ist (also auch z.B. 40% Durchsichtigkeit sind möglich). Beim Alpha-Testing legst du nur fest, dass beim Unterschreiten eines bestimmten Alpha-Werts nichts mehr gezeichnet werden soll.

Um Blending zu aktivieren, musst du vor dem Rendern glEnable(GL_BLEND); aufrufen und danach mit glBlendFunc einstellen, wie geblendet werden soll.

_________________
So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Alpha-Channel im VBO
BeitragVerfasst: Sa Aug 31, 2013 08:30 
Offline
Compliance Officer
Benutzeravatar

Registriert: So Aug 08, 2010 08:37
Beiträge: 460
Programmiersprache: C / C++ / Lua
:oops:

kommt davon wenn man sowas länger nicht brauchte...

er sollte Recht haben.

_________________
offizieller DGL Compliance Beauftragter
Never run a changing system! (oder so)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Alpha-Channel im VBO
BeitragVerfasst: Sa Sep 07, 2013 19:55 
Offline
DGL Member

Registriert: Di Aug 21, 2012 19:31
Beiträge: 173
Programmiersprache: C#
Hey,

danke! Es läuft :D

Grüße
Jan

_________________
ack nack nack nack nack


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 17 Queries | GZIP : On ]