- 16
- 4
DGL https://delphigl.com/forum/ |
|
Struktur-Funktion in GLSL https://delphigl.com/forum/viewtopic.php?f=20&t=11329 |
Seite 1 von 1 |
Autor: | beecksche [ Do Jan 22, 2015 09:46 ] |
Betreff des Beitrags: | Struktur-Funktion in GLSL |
Hallihallo, Ich wollte kurz wissen, ob ich in einer Struktur in GLSL auch eine Funktion/Operatoren einbauen kann. In C++ kann ich mit folgendem Code die Funktionen/Operatoren Problemlos ausführen. GLSL struct: Code:
GLSL function: Code:
In GLSL bekomme ich einen Syntaxfehler: '(' Liegt das nun an der Struktur? Oder habe ich etwas übersehen? Dankesehr |
Autor: | OpenglerF [ Do Jan 22, 2015 13:00 ] |
Betreff des Beitrags: | Re: Struktur-Funktion in GLSL |
Nein, das funktioniert nicht. Nebenbei: http://de.wikipedia.org/wiki/OpenGL_Shading_Language#Sprachmerkmale hat geschrieben: GLSL ist eine C-ähnliche Programmiersprache Von C++ steht da nichts... |
Autor: | beecksche [ Do Jan 22, 2015 13:43 ] |
Betreff des Beitrags: | Re: Struktur-Funktion in GLSL |
Habe ich mir bereits gedacht, ich habe die Addition/Subtraktion, sowie den Betrag als separate Funktion eingebaut. Zu deinem Zitat, füge ich folgendes hinzu: structs in GLSL Zitat: "Structs are defined much like C++"
|
Autor: | OpenglerF [ Do Jan 22, 2015 14:16 ] |
Betreff des Beitrags: | Re: Struktur-Funktion in GLSL |
Das bezieht sich aber vermutlich nur darauf, dass es in C notwendig war, Strukturtypen bei der Verwendung das Schlüsselwort "struct" voranzustellen oder ein "typedef" vor die Struktur zu machen und den Namen nach hinten zu stellen. C++ ist sonst in GLSL eher weniger vertreten. Code:
|
Autor: | beecksche [ Do Jan 22, 2015 14:46 ] |
Betreff des Beitrags: | Re: Struktur-Funktion in GLSL |
Ja, es ist leider nicht ganz eindeutig beschrieben. Ich habe mal gedacht und gehofft, dass C++ in der GLSL struct "vertreten" sei. Aber wie gezeigt: möööp - danke fürs mitspielen! |
Autor: | yunharla [ So Jan 25, 2015 00:06 ] |
Betreff des Beitrags: | Re: Struktur-Funktion in GLSL |
Nun ich denke eher das es sich auf das folgende Problem bezieht: OpenglerF hat geschrieben: Das bezieht sich aber vermutlich nur darauf, dass es in C notwendig war, Strukturtypen bei der Verwendung das Schlüsselwort "struct" voranzustellen oder ein "typedef" vor die Struktur zu machen und den Namen nach hinten zu stellen. C++ ist sonst in GLSL eher weniger vertreten. Code:
In C sind das zwei unterschiedliche Dinge. Im ersten Fall definierst du den Namen (Tag) "MyStruct" für den struct-Typen und im zweiten Fall definierst du einen Alias für einen anonymen struct-Typen. Richtig deutlich wird das erst wenn du zum Beispiel folgendes machst: Code:
Die Ausgabe ist dann zum Beispiel: Code:
Das gilt für union, struct und enum (wobei enum ein Sonderfall ist). Interessanterweise behandeln auch heute noch die Compiler das Ganze auf unterschiedliche Weise. Richtig verrückt wird es dann bei solchen Code: Code:
|
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |