Shader mit Processing.js

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
joggel

Shader mit Processing.js

Beitrag von joggel »

Hallo Ihr,

Ich nutze mal meinen Urlaub um mal wieder etwas zu programmieren.
Vorab:
Kennt sich jemand mit Processing.js aus?
Ich versuche dort schon seit einiger Zeit mich mit der Funktionsweise von Shadern vertraut zu machen.
In den Beispielen sieht das alles sehr einfach aus und funktioniert auch, aber bei mir funktioniert nicht mal das einfache Einfärben eines Quads!! :x

Nun mal meine Frage an Euch:
Kennt sich euch jemand damit aus?

Ich kann ja mal meinen Code hier posten:

Code: Alles auswählen

PShader shader;

void setup() {
  size(800, 600, P2D);
  shader = loadShader("Shader/myShader.glsl");
  noStroke();
}

void drawTestBild(int x, int y, int w, int h)
{
  shader(shader);
  rect(x, y, w, h);
}

void draw() {
  background(0);
  drawTestBild(100,50,600,500);
}
okay, soweit das Programm. Jetzt der (Fragment-)Shader:

Code: Alles auswählen

void main() 
{
	gl_FragColor = vec4(1.0,0,0,0);  
}
Wie ihr seht ist das ein einfaches Einfärben des 'Rects' mit der Farbe Rot.
Aber egal was ich für Werte für die Farbe einsetze, es bleibt so ein Weiß...oder so etwas.
Kann mir hier jemand helfen?

Grüßle
Joggel

[Edit:]
Laut Tut soll das aber so funktionieren:
https://processing.org/tutorials/pshader/
Benutzeravatar
marcgfx
Establishment
Beiträge: 2114
Registriert: 18.10.2010, 23:26

Re: Shader mit Processing.js

Beitrag von marcgfx »

ist das pseudocode?
kann mir nicht vorstellen, dass das richtig ist:

Code: Alles auswählen

shader(shader);
die funktion übergibt sich an sich selbst, oder wie soll ich das verstehen?

edit: jap, hab mir das tut ganz schnell angeschaut, shader(shader) geht so nicht. in javascript kannst du ne variable mit ner funktion überschreiben und umgekehrt, da wird nichts abgesichert und du wirst auch nicht über den missstand aufgeklärt.
joggel

Re: Shader mit Processing.js

Beitrag von joggel »

Es funktioniert jetzt. Ich habe es etwas anders gemacht jetzt.
Ich habe selber ein QUAD gezeichnet, und auf jetzt läuft es.

Das mit der Namensvergabe war etwas unglücklich, aber es scheint trotzdem zu funktionieren...
Benutzeravatar
marcgfx
Establishment
Beiträge: 2114
Registriert: 18.10.2010, 23:26

Re: Shader mit Processing.js

Beitrag von marcgfx »

der schein kann trügen :)
hauptsache es läuft!
Antworten