DGL
https://delphigl.com/forum/

Vorbei an vielen Farben
https://delphigl.com/forum/viewtopic.php?f=20&t=10627
Seite 1 von 1

Autor:  BlahBlah [ Di Okt 23, 2012 01:39 ]
Betreff des Beitrags:  Vorbei an vielen Farben

Hallo. Ich versuche, um ein Array von 256 Farben GLSL übergeben, damit es als Palette eingesetzt werden können.

Die entsprechende Delphi-Code zu erstellen und senden Sie die Daten

Code:
  1. color_palette:array[0..255]of tcolor;
  2. palette:array[0..255]of TGLVectorf3;
  3.  
  4.      for y:=0 to 255 do
  5.      begin
  6.           palette[y][0]:=getrvalue(color_palette[loop])/255;
  7.           palette[y][1]:=getgvalue(color_palette[loop])/255;
  8.           palette[y][2]:=getbvalue(color_palette[loop])/255;
  9.      end;
  10.      glUniform3fvARB(glGetUniformLocationARB(prog,PGLcharARB(ansistring('palette'))),256,@palette);

Die einfachste Fragment-Code. Dies sollte beschatten das Bild mit den umgerechnet 256 Farben, aber alles was ich bekomme ist eine solide purple Bild?

Code:
  1. uniform vec2 resolution;
  2. uniform vec3 palette[256];
  3.  
  4. int index;
  5.  
  6. void main(void)
  7. {
  8.     index=int(gl_FragCoord.x/resolution.x*255.0);
  9.     gl_FragColor=vec4(palette[index].x,palette[index].y,palette[index].z,1.0);
  10. }

Kann jemand sehen, was ich falsch mache? Ich habe viele Variationen dieser Code versucht, aber nie die Farbpalette, um korrekt angezeigt?

Vielen Dank für jede Hilfe.

Autor:  i0n0s [ Di Okt 23, 2012 02:10 ]
Betreff des Beitrags:  Re: Vorbei an vielen Farben

Möchtest du in der Schleife nicht auch den Parameter "loop" verändern?

Autor:  BlahBlah [ Di Okt 23, 2012 03:15 ]
Betreff des Beitrags:  Re: Vorbei an vielen Farben

JA!! Endlich! Ich starrte auf diesem Code so lange. :shock: Vielen Dank. Solch ein dummer Fehler. :lol:

Autor:  yunharla [ Di Okt 23, 2012 18:01 ]
Betreff des Beitrags:  Re: Vorbei an vielen Farben

wäre es nicht sinnvoller eine Textur als Palette zu nehmen???

Autor:  BlahBlah [ Di Okt 23, 2012 21:10 ]
Betreff des Beitrags:  Re: Vorbei an vielen Farben

Ich habe versucht, dass erste, aber konnte es nicht funktioniert. Das Bestehen dieser Weg ist weniger Code zu.

Autor:  yunharla [ Mi Okt 24, 2012 06:22 ]
Betreff des Beitrags:  Re: Vorbei an vielen Farben

verstehe, ist trotzdem nicht schön da so ein großes Array zu laden... kannst dir ja hier mal das ganze für nen SW Renderer anschauen. Da sieht man sehr gut wie das in etwa funktioniert.

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/