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

Aktuelle Zeit: Do Jul 17, 2025 09:02

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



Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Grauwerte in OpenGL?
BeitragVerfasst: Fr Mär 04, 2005 11:05 
Offline
DGL Member

Registriert: Do Mär 03, 2005 09:39
Beiträge: 4
hallo,
gibt es eine möglichkeit punkte mit grauwert in opengl darzustellen (jeder punkt hatt einen eigenen grauwert)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 04, 2005 11:13 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Ja. Indem du bei glColor entsprechend für Rot, Grün und Blau jeweils den selben Werte verwendest.

Aber falls du meinst ob OpenGL irgendwie einen Graustufen Modus besitzt. Da muss ich dich enttäuschen. Das geht nur mit glColor oder du bastelst dir einen Shader der dann entsprechend alles in Graustufen umwandelst. Das dürfte aber wohl nicht in Frage kommen. Zwecks "leicht" erhöhtem Schwierigkeitsgrad.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 04, 2005 13:56 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Zitat:
Zwecks "leicht" erhöhtem Schwierigkeitsgrad.

Das würde mich jetzt trotzdem interessieren! Wie würde man das berechnen? Mir fällt spontan folgendes ein:
Code:
  1. Durchschnittsfarbe:= Pixel.Rot + Pixel.Gelb + Pixel.Blau / 3;
  2. Pixel.Rot:= Durchschnittsfarbe;
  3. Pixel.Gelb:= Durchschnittsfarbe;
  4. Pixel.Blau:= Durchschnittsfarbe;

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 04, 2005 14:00 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
hm, wenn du ein ergebnis willst, wie es etwa bei schwarz weiß filmen der fall ist, musst du die verhältnisse dann aber anders wählen, denn rot ist dort z.B. immer fast schwarz, aber in jedem falle sehr dunkel, während grün und blau wesentlich stärker ins gewicht fallen. wenns nicht so elegant sein soll, würde deine gleichung natürlich genügen - abgesehen von fehlender klammerung ;-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 04, 2005 14:49 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 19, 2004 00:27
Beiträge: 454
Wohnort: Nürnberg
La_Boda hat geschrieben:
Code:
  1. Durchschnittsfarbe:= Pixel.Rot + Pixel.Gelb + Pixel.Blau / 3;
  2. Pixel.Rot:= Durchschnittsfarbe;
  3. Pixel.Gelb:= Durchschnittsfarbe;
  4. Pixel.Blau:= Durchschnittsfarbe;


doch eher:

Code:
  1. Durchschnittsfarbe:= (Pixel.Rot + Pixel.Gelb + Pixel.Blau) / 3;


sonst teilst du ja nur den Blau-Wert durch 3 ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 04, 2005 14:53 
Offline
DGL Member

Registriert: Sa Jan 22, 2005 21:10
Beiträge: 225
Dem werde ich mich Anschließen. Hab mir auch mal die Mühe gemacht, meinen rechten Arm auszustrecken und nach meinem "Neuen Handbuch der Grafikformate" zu greifen. Da stehen diese Werte drin:

Grau = Rot * 0.3 + Grün * 0.59 + Blau * 0.11

Dürfte aber im Endeffekt eh keiner drauf achten...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 04, 2005 14:53 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Die Schwierigkeit bei allem ist wahrscheinlich eher der Shader an sich nicht das berechnen eines Durchschnittswertes. Das sinnvollste wäre da wenn man das auf das komplette Bild anwenden kann. Das geht aber meines wissens nach nicht direkt. Man kann es entweder nur auf alle Flächen anwenden. Dann würde man aber verdammt viel berechnen. Oder man rendert die Szene in einen PBuffer und wenn der fertig ist zeichnet man das auf ein Quad welches den Shader verwendet.

PS: Bei den ATI Treibern gibt es irgendwo ein Menü wo solche ganzszenen Effekte angewendet werden. Zu mindest wenn man dann wieder in das Programm geht. Und Tom Neydens hatte auch mal so ein Programm gemacht.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 04, 2005 14:58 
Offline
DGL Member

Registriert: Sa Jan 22, 2005 21:10
Beiträge: 225
Habs nie ausprobiert, aber man kann OGL auch mit weniger Farben laufen lassen. Es geht sogar mit Palette. Und dann wirds wohl auch mit Graustufen gehen...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 04, 2005 15:00 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Jepp, hätte das über PBuffer / Frambuffer gemacht. Bis auf die Umständlichkeit des Ersteren dürfte das doch kaum Performance kosten?
Meinst du den Delphi3D-Artikel? http://www.delphi3d.net/articles/viewarticle.php?article=onebit.htm

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 04, 2005 15:06 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
AL: Das geht zwar auch aber auch nur im Vollbildmodus. Anderfalls verwendet OpenGL nämlich die Farbtiefe von Windows. Und wenn du 256 Farben hast kannst du zwar eine Palette einstellen allerdings laufen gänge 3D Karten im Software. Dann werden kaum noch sinnvoll Extension unterstützt und die Geschwindigkeit ist sehr sehr langsam.

La_Boda: Ne das war ein Demo (07.08.2003) wo er Halbtöne berechnet hat. Geht aber beides in die selber Richtung.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 04, 2005 15:25 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Oder man macht die Konvertierung gleich beim Zeichnen, je nachdem wie und ob überhaupt geblendet werden soll, geht das ja. Wenn es nur Punkte ohne Texture sind geht's ja auch im Vertex Programm.

Code:
  1. !!ARBvp1.0
  2. OPTION ARB_position_invariant;
  3. DP3 result.color,vertex.color, {0.3,0.59,0.11,0};
  4. END


Aber da ist es doch einfacher gleich direkt den richtigen Helligkeitswert bei glColor anzugeben. Dafür muß man nur bei Rot,Grün und Blau den gleichen Wert benutzen.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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.009s | 14 Queries | GZIP : On ]