GLSL Shader - Pixel vs Vertex
-
Hey,
Ich hätte mal eine Frage zu Fragment/PixelShader bzw. Vertexshader.
Ich könnte ja die Beleuchtung per Pixel oder per Vertex durchführen lassen.
Eine per Pixel Beleuchtung sollte das optische Bessere Ergebniss liefern, liege ich aber richtig damit, dass eine per Pixel Beleuchtung auch mehr Leistung kostet? Also generell solche Operationen.
Ich vermute zumindest, dass ein VertexShader weniger Aufrufe insgesamt hat als ein Pixelshader.
-
das wovon du weniger hast, braucht weniger rechenzeit, das duerfte offensichtlich sein
-
Das hängt vielleicht auch ein wenig davon ab, was du vorhast.
Per-Pixel sieht unter Umständen deutlich besser aus, da die Qualität dann unabhängig ist von der Anzahl der Vertices. Hast du bspw. eine große Fläche mit wenig Vertices, und bei genau einem Vertex ist der Glanzlichtpunkt, sieht das natürlich ziemlich blöd aus, weil dann das Weiß (oder welche Farbe das Glanzlicht hat) ja dann über eine große Strecke mit in die Interpolation mit einfließt. Ich selber benutze aber nur Per-Pixel-Lighting, ich denke nicht dass man bei den Projekten, die man als Hobbyentwickler macht, sich da so einen großen Kopf machen muss. Bisher lief jedenfalls immer alles super ; ) Die Flaschenhälse sind dann eher woanders. Wenn du natürlich 20 Lichter haben willst, solltest du es vielleicht aber doch nochmal genauer überdenken.
-
Okay danke für die Antworten.
Ich versuch einfach nur zu optimieren wo ich kann.
Gerade die Shader für per Pixel Beleuchtung, Schatten welche noch geglättet werden (also gegen Alaising Effekt), usw. kostet einfach mal Leistung ^^