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

Aktuelle Zeit: Di Jul 15, 2025 20:24

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Alpha und Farbe in VBO´s
BeitragVerfasst: So Okt 31, 2010 22:42 
Offline
DGL Member

Registriert: Do Jan 07, 2010 21:58
Beiträge: 240
Hallo,

ich zeichne seit neuesten mithilfe von VBO´s (die vorteile ließen sich nicht leugnen) und so zeichne ich also fröhlich 100 4-ecke übereinander
(später sollen diese sich dann unterschiedlich bewegen)
nun muss aber auch jedes 4-eck eingefärbt werden und auch geblendet bzw mit einem alphawert versehen werden

texturierung hab ich hinbekommen mit hilfe des Vertexformates, Blenden war noch nie meine stärke aber das werd ich sehen obs geht wenn es sich bewegt

mehr sorgen machen mir farben und alphawert

über das vertexformat GL_T2F_C3F_V3F würde ich farben reinbauen können, aber keine alphawerte

wie bekomm ich alpha in mein VBO?

wie immer bin ich nat nicht arbeitsscheu und wenn es sinnvol ist nehme ich auch schader :D

lg


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Alpha und Farbe in VBO´s
BeitragVerfasst: So Okt 31, 2010 22:49 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Schau dir mal VBO ohne glInterleavedArrays an.

greetings

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Alpha und Farbe in VBO´s
BeitragVerfasst: Mo Nov 01, 2010 00:07 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Ich denke GL_T2F_C4UB_V3F ist das Format was du gesucht hast. Du hast schließlich nur 256 Farben pro Farbkanal, entsprechend ist es wenig sinnvoll dafür jeweils einen Float zu verschwenden. ;) Mit GL_T2F_C4UB_V3F hast du für die Farbe (RGBA) jeweils ein UnsignedByte.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Alpha und Farbe in VBO´s
BeitragVerfasst: Mo Nov 01, 2010 07:51 
Offline
DGL Member

Registriert: Do Jan 07, 2010 21:58
Beiträge: 240
ahh ok,danke erstemal, beides sehr nützlich, der link weil es ne nützliche erklärung is und das vertexformat weil es ja wahrscheinlich das macht was ich will

nur leider muss ich erstmal in die schule jetzt :( hab ich eine lust^^ testen werd ich es heute nachmittag wenn ich wieder da bin


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Alpha und Farbe in VBO´s
BeitragVerfasst: Mo Nov 01, 2010 18:17 
Offline
DGL Member

Registriert: Do Jan 07, 2010 21:58
Beiträge: 240
so also ich hab jetzt mal das vertexformat gewechselt aber was ist ein UnsignedByte?

UnsignedByte kennter nicht, einfach Byte geht nicht weil kein bruch möglich und Google bzw foren und wiki suche sagen gar nix


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Alpha und Farbe in VBO´s
BeitragVerfasst: Mo Nov 01, 2010 18:31 
Offline
DGL Member

Registriert: Di Okt 13, 2009 17:25
Beiträge: 365
Programmiersprache: C++
UnsignedByte ist halt eine 1 Byte große Variable ohne Vorzeichen. Da ich nicht weiß, welche Programmiersprache du verwendest, kann ich dir nicht sagen, wie der Typ dazu heißt. In C(++) ist es unsigned char, in Delphi gibt es afaik auch char, wobei ich nicht weiß, ob es da auch unsigned heißt oder irgendwie anders.


Zuletzt geändert von mrtrain am Mi Aug 31, 2011 21:02, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Alpha und Farbe in VBO´s
BeitragVerfasst: Mo Nov 01, 2010 18:42 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
In Delphi gibt es sofern ich mich errinere nur Unsigned Char/Byte.
Byte kann nicht kleiner als 0 werden, sowie char nicht kleiner als 0 byte sein kann.
Defakto ist Unsigned Byte in Delphi einfach Byte 0-255 :D


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Alpha und Farbe in VBO´s
BeitragVerfasst: Mo Nov 01, 2010 18:53 
Offline
DGL Member

Registriert: Do Jan 07, 2010 21:58
Beiträge: 240
ja aber man gibt doch farb oder alphawerte in 0<x<1 an was byte aber gar nicht kann, byte kann nur natürliche ganze zahlen annehmen, sagt zumindest delphi 7

€: ich häng mal mein TVertex an damit ihr seht wie ich es überhaupt mache

Code:
  TVertex=packed Record
    S,T   : TGLFloat;
    R,G,B,A : Byte;
    X,Y,Z : TGLFloat;
  end;


befüllt wird dies recht umständlich, aber da ich ja nur eins brauch geht das schon


Zuletzt geändert von Dropye am Mo Nov 01, 2010 19:32, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Alpha und Farbe in VBO´s
BeitragVerfasst: Mo Nov 01, 2010 18:57 
Offline
DGL Member

Registriert: Di Okt 13, 2009 17:25
Beiträge: 365
Programmiersprache: C++
Wenn du die Farbe in UnsignedByte angibst, nimmst du Zahlen von 0-255. 255 entspricht hier 1.


Zuletzt geändert von mrtrain am Mi Aug 31, 2011 21:01, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Alpha und Farbe in VBO´s
BeitragVerfasst: Mo Nov 01, 2010 19:34 
Offline
DGL Member

Registriert: Do Jan 07, 2010 21:58
Beiträge: 240
ob ich die werte zwischen 0 und 255 variiere interessiert das VBO leider überhaupt nicht, es kommt immer das selbe dabei raus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Alpha und Farbe in VBO´s
BeitragVerfasst: Mo Nov 01, 2010 19:51 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Wenn es TGLFloat bei dir gibt, gibt es höchst wahrscheinlich auch TGLubyte.

Zitat:
ob ich die werte zwischen 0 und 255 variiere interessiert das VBO leider überhaupt nicht, es kommt immer das selbe dabei raus

Ersetze mal temporär das ganze durch ein glBegin() mit Farben. Ggf. ist irgendwo ein State der verhindert das die Farben benutzt werden.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Alpha und Farbe in VBO´s
BeitragVerfasst: Mo Nov 01, 2010 20:08 
Offline
DGL Member

Registriert: Do Jan 07, 2010 21:58
Beiträge: 240
Zitat:
Ggf. ist irgendwo ein State der verhindert das die Farben benutzt werden.


das war der richtige punkt, ich hab das ganze erssetzt ging immernoch nicht, dacht ich mir hm guggste mal

und was war an? Richtig, Licht...
farben gehen alpha test ich gerade


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Alpha und Farbe in VBO´s
BeitragVerfasst: Di Nov 02, 2010 20:28 
Offline
DGL Member

Registriert: Do Jan 07, 2010 21:58
Beiträge: 240
so, nach langem hin und her geht nun erstmal alles, nun kann ich mich voll auf die bewegung und farben konzentrieren

danke euch nochmal und zum schluss nochmal die komplette lösung:

Code:
  TVertex=packed Record
    S,T   : TGLFloat;
    R,G,B,A : Byte;
    X,Y,Z : TGLFloat;
  end;

  TPolygon=packed Record
    Vertex : array[0..3] of TVertex;
  end;

//füllen der daten
[...]
//hochladen
glBufferData(GL_ARRAY_BUFFER, 4*SizeOf(TVertex), @Polygon, GL_STATIC_DRAW);

//zeichnen
        glInterleavedArrays(GL_T2F_C4UB_V3F, SizeOf(TVertex), nil);
        glDrawArrays(GL_Quads, 0, 4);

//wichtig ist das Licht aus ist sonst sieht man nur grau und keine farben, auch alpha funktioniert mit licht nicht.
aus optimierungsgründen sollten keine Quads sindern Dreiecke verwendet werden, dazu ist allerdings notwendig noch 2 Vertexe anzulegen


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 15 Queries | GZIP : On ]