Registriert: Mi Aug 09, 2006 15:47 Beiträge: 44 Wohnort: St. Wendel
Programmiersprache: Delphi, C#, Java, C
Hi.
Ich will mir die Nutzung von Shadern aneignen, daher fang ich erstmal klein an Es tut mir echt Leid, dass ich ne so einfache Frage stellen muss, aber was stimmt an diesem Shader nicht?
Am Anfang ist das Viereck, welches ich als Testobjekt rendere, ganz kurz da und dann ist es weg und kommt nicht wieder...
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Mir ist nicht ganz klar, was die Multiplikationen da sollen... Ist das einfach nur ein Versuch, eine Transformation einzubauen oder hat das einen anderen Zweck?
Ich verwende immer folgenden Standardshader als Vertexshader:
das Varying vpos enthält dann die Vertexdaten, die brauche ich häufig im Fragmentshader, daher habe ich das in ein Varying gelegt.
Hast du das Tutorial_glsl gelesen? Sieht zwar auf den ersten Blick wie ein Monsterteil aus, aber es lohnt sich durchaus, hat mir für den Einstieg sehr geholfen.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Dann schau dir mal das Tutorial_glsl2 an. Man muss sich ja im ersten nicht gleich alles durchlesen, aber es ist ein gutes nachschlagewerk. Im zweiten gehts dann eher ins praktische, man sollte dafür aber denke ich das erste zumindest angelesen haben.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
So, die Procedure rendert mir ja jetzt ohne Shader eine Mischung der zwei Texturen hin, wobei diese unten links und oben rechts rot gefärbt sind und dazwischen blau. Soweit sogut.
Jetzt möchte ich mit den Shadern erreichen, dass an den roten Stellen die erste Textur ist, und an den blauen die Zweite, wobei dazwischen genau wie bei einem Farbverlauf ein Texturverlauf (sprich ne Art Blending) erfolgt.
Wenn ich den obigen Fragment-Shader-Code anwende, dann ist das ganze Quadrat voll mit der ersten Textur. Wenn ich jetzt allerdings statt RGB.b einfach RGB.g nehme (grün ist nicht vorhanden), dann rendert er mir unten links und oben rechts die erste Textur hin, und dazwischen läufts ins schwarze, was ja auch vollkommen korrekt ist.
Wieso funktioniert der Fragment-Shader nicht richtig und blendet bei der blauen Fläche nicht die 2. Textur ein?
Dateianhänge:
Dateikommentar: So ist es, wenn ich statt RGB.b einfach RGB.g angebe, da Grün nicht da ist wird es an den nicht roten (=blauen) Stellen auch schwarz shader1.JPG [ 30.25 KiB | 9655-mal betrachtet ] Dateikommentar: So ist es, wenn ich RGB.R und RGB.B nehme, beide Farben sind da aber es wird trotzdem nur 1. Textur gezeigt shader2.JPG [ 45.62 KiB | 9655-mal betrachtet ]
Mitglieder in diesem Forum: 0 Mitglieder und 2 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.