Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi OpenGL Punkte mit Grauwert zeichnen (https://www.delphipraxis.net/41500-opengl-punkte-mit-grauwert-zeichnen.html)

mwiesbau 4. Mär 2005 10:09


OpenGL Punkte mit Grauwert zeichnen
 
hallo,
wie kann man in OpenGL Punkte mit Grauwerten zeichnen.
Das heisst jeder punkt der importiert wird hat einen eigenen Grauwert.

Der Grauwert setzt sich aus nur einer zahl zusammen die von 1-254 geht.

Danke für eure hilfe

Binärbaum 4. Mär 2005 10:13

Re: OpenGL Punkte mit Grauwert zeichnen
 
Meinst du jetzt nur vom Prinzip her? Das geht, indem man die Farbwerte für RGB auf den gleichen Wert setzt. Somit erhält man immer Graustufen:
Delphi-Quellcode:
glBegin(GL_POINTS);
  glColor3f( 0.5, 0.5, 0.5);//"mittelgrau"
  glVertex3f( x, y, z);
  ...
glEnd;
MfG
Binärbaum

mwiesbau 4. Mär 2005 10:18

Re: OpenGL Punkte mit Grauwert zeichnen
 
Nein, das prinzip ist mir schon klar mit den r,g,b farben. Danke :)

Ich weiss nur nicht wie die RBG farben definiert sind, d.h.: der Bereich geht ja in OpenGL nicht von 1-255 für jeden Farbanteil sondern irgendwie anders.

Ich muss ja sozusagen den Grauwert in RGB umrechnen da happerts ein wenig.

Binärbaum 4. Mär 2005 10:23

Re: OpenGL Punkte mit Grauwert zeichnen
 
Zitat:

Zitat von mwiesbau
Nein, das prinzip ist mir schon klar mit den r,g,b farben. Danke :)

Ich weiss nur nicht wie die RBG farben definiert sind, d.h.: der Bereich geht ja in OpenGL nicht von 1-255 für jeden Farbanteil sondern irgendwie anders.

Ich muss ja sozusagen den Grauwert in RGB umrechnen da happerts ein wenig.

Ich glaube es gibt auch noch eine Version von glColor für Bytes (d.h. von 0 bis 255). Schau mal in der OH nach.
Ansonsten geht es auch so:
Delphi-Quellcode:
var grau: Byte;//Grauwert d. Punktes
begin
  glBegin(GL_POINTS);
    glColor3f( grau/255, grau/255, grau/255);//"mittelgrau"
    glVertex3f( x, y, z);
    ...
  glEnd;
end;
[Edit]
Der Farbbereich bei glColor3f geht von 0.0 (keine Farbe, also schwarz) bis 1.0 (volle Farbe).
[/Edit]

MfG
Binärbaum

mwiesbau 4. Mär 2005 11:04

Re: OpenGL Punkte mit Grauwert zeichnen
 
das hat super funktioniert danke dir :thumb:

Binärbaum 4. Mär 2005 11:09

Re: OpenGL Punkte mit Grauwert zeichnen
 
Ich habe nochmal nachgeschaut: die glColor-Prozedur für Byte-Variablen ist Delphi-Referenz durchsuchenglColor3ub. Als Parameter werden drei Werte vom Typ GLubyte (entspricht dem Byte unter Delphi) verlangt. Damit könnte der Aufruf so aussehen:
Delphi-Quellcode:
var grau: Byte;//Grauwert d. Punktes
begin
  glBegin(GL_POINTS);
    glColor3ub( grau, grau, grau);//"mittelgrau"
    glVertex3f( x, y, z);
    ...
  glEnd;
end;
Dadurch spart man die Division durch 255 ein.

MfG
Binärbaum


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz