Bisher habe ich alle meine konstanten Variablen wie static const
in meinem HLSL-Code deklariert , aber praktisch jedes einzelne Shader-Beispiel, auf das ich gestoßen bin, verwendet #define
stattdessen.
Ich kenne die Gründe, warum ich statische Konstante in C ++ über den Präprozessor verwenden würde, und habe sie auch nur in HLSL übernommen. Ich bin jedoch gespannt, ob es neben den Standardargumenten von C ++ "static const versus #define" Nebenwirkungen oder Vor- / Nachteile gibt.
static const
zuconst
? Gibt es spezielle Optimierungenstatic const
, für die dies nicht giltconst
? Dies setzt voraus, dass der zugewiesene Wert selbst nur eine Konstante ist.static const float something = 1.53;
zum Beispiel, die dann mit oder ohne keinen Unterschied machen solltenstatic
.