… | |
… | |
883 | { |
883 | { |
884 | return sl_append< sampler_ref<sampler_i> > (v); |
884 | return sl_append< sampler_ref<sampler_i> > (v); |
885 | } |
885 | } |
886 | }; |
886 | }; |
887 | |
887 | |
|
|
888 | namespace compile { |
888 | extern const fragment_const_string str_2sp; |
889 | extern const fragment_const_string str_2sp; |
889 | extern const fragment_const_string str_equal; |
890 | extern const fragment_const_string str_equal; |
890 | extern const fragment_const_string str_comma; |
891 | extern const fragment_const_string str_comma; |
891 | extern const fragment_const_string str_endl; |
892 | extern const fragment_const_string str_endl; |
892 | |
893 | |
893 | template<class fragment, typename expr> |
894 | template<class fragment, typename expr> |
894 | inline void sl_assign (const fragment &f, const expr &e) |
895 | inline void sl_assign (const fragment &f, const expr &e) |
895 | { |
896 | { |
896 | cur->append (str_2sp); |
897 | cur->append (str_2sp); |
897 | cur->append (f); |
898 | cur->append (f); |
898 | cur->append (str_equal); |
899 | cur->append (str_equal); |
899 | sl_convert<expr>::convert (e) (); |
900 | sl_convert<expr>::convert (e) (); |
900 | cur->append (str_endl); |
901 | cur->append (str_endl); |
|
|
902 | } |
901 | } |
903 | } |
902 | |
904 | |
903 | template<class type> |
905 | template<class type> |
904 | template<typename expr> |
906 | template<typename expr> |
905 | inline const auto_lvalue_ref0<type> &auto_lvalue_ref0<type>::operator =(const expr &e) const |
907 | inline const auto_lvalue_ref0<type> &auto_lvalue_ref0<type>::operator =(const expr &e) const |
906 | { |
908 | { |
907 | sl_assign (*this, e); |
909 | compile::sl_assign (*this, e); |
908 | return *this; |
910 | return *this; |
909 | } |
911 | } |
910 | |
912 | |
911 | template<class type, typename arg1> |
913 | template<class type, typename arg1> |
912 | template<typename expr> |
914 | template<typename expr> |
913 | inline const auto_lvalue_ref1<type,arg1> &auto_lvalue_ref1<type,arg1>::operator =(const expr &e) const |
915 | inline const auto_lvalue_ref1<type,arg1> &auto_lvalue_ref1<type,arg1>::operator =(const expr &e) const |
914 | { |
916 | { |
915 | sl_assign (*this, e); |
917 | compile::sl_assign (*this, e); |
916 | return *this; |
918 | return *this; |
917 | } |
919 | } |
918 | |
920 | |
919 | template<class T> |
921 | template<class T> |
920 | template<typename expr> |
922 | template<typename expr> |
921 | inline const sl_expr<T> &sl_expr<T>::operator =(const expr &e) const |
923 | inline const sl_expr<T> &sl_expr<T>::operator =(const expr &e) const |
922 | { |
924 | { |
923 | sl_assign (*this, e); |
925 | compile::sl_assign (*this, e); |
924 | return *this; |
926 | return *this; |
925 | } |
927 | } |
926 | |
928 | |
927 | template<const char *strtype> |
929 | template<const char *strtype> |
928 | template<typename expr> |
930 | template<typename expr> |
929 | inline const temp_ref<strtype> &temp_ref<strtype>::operator =(const expr &e) const |
931 | inline const temp_ref<strtype> &temp_ref<strtype>::operator =(const expr &e) const |
930 | { |
932 | { |
931 | sl_assign (*this, e); |
933 | compile::sl_assign (*this, e); |
932 | return *this; |
934 | return *this; |
933 | } |
935 | } |
934 | |
936 | |
935 | struct sl_append_const_string |
937 | struct sl_append_const_string |
936 | { |
938 | { |
… | |
… | |
943 | { |
945 | { |
944 | cur->push_back (str); |
946 | cur->push_back (str); |
945 | } |
947 | } |
946 | }; |
948 | }; |
947 | |
949 | |
|
|
950 | namespace compile { |
948 | extern const sl_append_const_string str_lpar; |
951 | extern const sl_append_const_string str_lpar; |
949 | extern const sl_append_const_string str_rpar; |
952 | extern const sl_append_const_string str_rpar; |
|
|
953 | extern const sl_append_const_string str_minus; |
950 | |
954 | |
|
|
955 | using namespace shader; |
|
|
956 | |
|
|
957 | template<typename T> |
|
|
958 | inline const sl_expr< sl_concat2< sl_append_const_string, |
|
|
959 | typename sl_convert<T>::T |
|
|
960 | > > |
|
|
961 | operator -(const T &t) |
|
|
962 | { |
|
|
963 | return concat (str_minus, sl_convert<T>::convert (t), s); |
|
|
964 | } |
|
|
965 | |
951 | template<class A, class B, class C> |
966 | template<class A, class B, class C> |
952 | struct sl_binop |
967 | struct sl_binop |
953 | { |
968 | { |
954 | const A a; const B b; const C c; |
969 | const A a; const B b; const C c; |
955 | sl_binop (const A &a, const B &b, const C &c) : a(a), b(b), c(c) { } |
970 | sl_binop (const A &a, const B &b, const C &c) : a(a), b(b), c(c) { } |
956 | void operator ()() const { str_lpar (); a (); b (); c (); str_rpar (); } |
971 | void operator ()() const { str_lpar (); a (); b (); c (); str_rpar (); } |
957 | }; |
972 | }; |
958 | |
973 | |
959 | # define SHADER_BINOP(op, str) \ |
974 | # define SHADER_BINOP(op, str) \ |
960 | extern const sl_append_const_string str_ ## str; \ |
975 | extern const sl_append_const_string str_ ## str; \ |
961 | template<typename A, typename B> \ |
976 | template<typename A, typename B> \ |
962 | inline const sl_expr< sl_binop< typename sl_convert<A>::T, \ |
977 | inline const sl_expr< sl_binop< typename sl_convert<A>::T, \ |
963 | sl_append_const_string, \ |
978 | sl_append_const_string, \ |
964 | typename sl_convert<B>::T > > \ |
979 | typename sl_convert<B>::T > > \ |
965 | operator op(const A &a, const B &b) \ |
980 | operator op(const A &a, const B &b) \ |
966 | { \ |
981 | { \ |
967 | return sl_binop< typename sl_convert<A>::T, sl_append_const_string, typename sl_convert<B>::T > \ |
982 | return sl_binop< typename sl_convert<A>::T, sl_append_const_string, typename sl_convert<B>::T > \ |
968 | (sl_convert<A>::convert (a), str_ ## str, sl_convert<B>::convert (b)); \ |
983 | (sl_convert<A>::convert (a), str_ ## str, sl_convert<B>::convert (b)); \ |
969 | } |
984 | } |
970 | |
985 | |
971 | SHADER_BINOP (+, plus); |
986 | SHADER_BINOP (+, plus); |
972 | SHADER_BINOP (-, minus); |
987 | SHADER_BINOP (-, minus); |
973 | SHADER_BINOP (*, mul); |
988 | SHADER_BINOP (*, mul); |
974 | SHADER_BINOP (/, div); |
989 | SHADER_BINOP (/, div); |
975 | SHADER_BINOP (%, mod); |
990 | SHADER_BINOP (%, mod); |
976 | |
991 | |
|
|
992 | SHADER_BINOP (<, lt); |
|
|
993 | SHADER_BINOP (<=, lte); |
|
|
994 | SHADER_BINOP (==, eq); |
|
|
995 | SHADER_BINOP (!=, ne); |
|
|
996 | SHADER_BINOP (>=, gte); |
|
|
997 | SHADER_BINOP (>, gt); |
|
|
998 | |
977 | # undef SHADER_BINOP |
999 | # undef SHADER_BINOP |
978 | |
1000 | |
979 | void swizzle_mask (sl_string<7> &s, int mask); |
1001 | void swizzle_mask (sl_string<7> &s, int mask); |
980 | |
1002 | |
981 | template<typename T> |
1003 | template<typename T> |
982 | inline const sl_expr< sl_concat3< sl_append_const_string, |
1004 | inline const sl_expr< sl_concat3< sl_append_const_string, |
983 | typename sl_convert<T>::T, |
1005 | typename sl_convert<T>::T, |
984 | sl_string<7> |
1006 | sl_string<7> |
985 | > > |
1007 | > > |
986 | swizzle (const T &t, int a, int b = 0, int c = 0, int d = 0) |
1008 | swizzle (const T &t, int a, int b = 0, int c = 0, int d = 0) |
987 | { |
1009 | { |
988 | sl_string<7> s; |
1010 | sl_string<7> s; |
989 | swizzle_mask (s, ((d * 5 + c) * 5 + b) * 5 + a); |
1011 | swizzle_mask (s, ((d * 5 + c) * 5 + b) * 5 + a); |
990 | return concat (str_lpar, sl_convert<T>::convert (t), s); |
1012 | return concat (str_lpar, sl_convert<T>::convert (t), s); |
|
|
1013 | } |
|
|
1014 | |
|
|
1015 | # define SHADER_SWIZZLE_OP(abcd,type) \ |
|
|
1016 | template<typename T> \ |
|
|
1017 | inline const sl_expr< sl_concat3< sl_append_const_string, \ |
|
|
1018 | typename sl_convert<T>::T, \ |
|
|
1019 | sl_string<7> \ |
|
|
1020 | > > \ |
|
|
1021 | type (const T &t) \ |
|
|
1022 | { \ |
|
|
1023 | return swizzle (t, (abcd / 1000) % 5, (abcd / 100) % 5, (abcd / 10) % 5, (abcd / 1) % 5); \ |
|
|
1024 | } |
|
|
1025 | |
|
|
1026 | // brute force is lovely, ain't it? |
|
|
1027 | SHADER_SWIZZLE_OP (1 , x ) SHADER_SWIZZLE_OP (11 , xx ) SHADER_SWIZZLE_OP (111 , xxx ) SHADER_SWIZZLE_OP (1111, xxxx) |
|
|
1028 | SHADER_SWIZZLE_OP (1112, xxxy) SHADER_SWIZZLE_OP (1113, xxxz) SHADER_SWIZZLE_OP (1114, xxxw) SHADER_SWIZZLE_OP (112 , xxy ) |
|
|
1029 | SHADER_SWIZZLE_OP (1121, xxyx) SHADER_SWIZZLE_OP (1122, xxyy) SHADER_SWIZZLE_OP (1123, xxyz) SHADER_SWIZZLE_OP (1124, xxyw) |
|
|
1030 | SHADER_SWIZZLE_OP (113 , xxz ) SHADER_SWIZZLE_OP (1131, xxzx) SHADER_SWIZZLE_OP (1132, xxzy) SHADER_SWIZZLE_OP (1133, xxzz) |
|
|
1031 | SHADER_SWIZZLE_OP (1134, xxzw) SHADER_SWIZZLE_OP (114 , xxw ) SHADER_SWIZZLE_OP (1141, xxwx) SHADER_SWIZZLE_OP (1142, xxwy) |
|
|
1032 | SHADER_SWIZZLE_OP (1143, xxwz) SHADER_SWIZZLE_OP (1144, xxww) SHADER_SWIZZLE_OP (12 , xy ) SHADER_SWIZZLE_OP (121 , xyx ) |
|
|
1033 | SHADER_SWIZZLE_OP (1211, xyxx) SHADER_SWIZZLE_OP (1212, xyxy) SHADER_SWIZZLE_OP (1213, xyxz) SHADER_SWIZZLE_OP (1214, xyxw) |
|
|
1034 | SHADER_SWIZZLE_OP (122 , xyy ) SHADER_SWIZZLE_OP (1221, xyyx) SHADER_SWIZZLE_OP (1222, xyyy) SHADER_SWIZZLE_OP (1223, xyyz) |
|
|
1035 | SHADER_SWIZZLE_OP (1224, xyyw) SHADER_SWIZZLE_OP (123 , xyz ) SHADER_SWIZZLE_OP (1231, xyzx) SHADER_SWIZZLE_OP (1232, xyzy) |
|
|
1036 | SHADER_SWIZZLE_OP (1233, xyzz) SHADER_SWIZZLE_OP (1234, xyzw) SHADER_SWIZZLE_OP (124 , xyw ) SHADER_SWIZZLE_OP (1241, xywx) |
|
|
1037 | SHADER_SWIZZLE_OP (1242, xywy) SHADER_SWIZZLE_OP (1243, xywz) SHADER_SWIZZLE_OP (1244, xyww) SHADER_SWIZZLE_OP (13 , xz ) |
|
|
1038 | SHADER_SWIZZLE_OP (131 , xzx ) SHADER_SWIZZLE_OP (1311, xzxx) SHADER_SWIZZLE_OP (1312, xzxy) SHADER_SWIZZLE_OP (1313, xzxz) |
|
|
1039 | SHADER_SWIZZLE_OP (1314, xzxw) SHADER_SWIZZLE_OP (132 , xzy ) SHADER_SWIZZLE_OP (1321, xzyx) SHADER_SWIZZLE_OP (1322, xzyy) |
|
|
1040 | SHADER_SWIZZLE_OP (1323, xzyz) SHADER_SWIZZLE_OP (1324, xzyw) SHADER_SWIZZLE_OP (133 , xzz ) SHADER_SWIZZLE_OP (1331, xzzx) |
|
|
1041 | SHADER_SWIZZLE_OP (1332, xzzy) SHADER_SWIZZLE_OP (1333, xzzz) SHADER_SWIZZLE_OP (1334, xzzw) SHADER_SWIZZLE_OP (134 , xzw ) |
|
|
1042 | SHADER_SWIZZLE_OP (1341, xzwx) SHADER_SWIZZLE_OP (1342, xzwy) SHADER_SWIZZLE_OP (1343, xzwz) SHADER_SWIZZLE_OP (1344, xzww) |
|
|
1043 | SHADER_SWIZZLE_OP (14 , xw ) SHADER_SWIZZLE_OP (141 , xwx ) SHADER_SWIZZLE_OP (1411, xwxx) SHADER_SWIZZLE_OP (1412, xwxy) |
|
|
1044 | SHADER_SWIZZLE_OP (1413, xwxz) SHADER_SWIZZLE_OP (1414, xwxw) SHADER_SWIZZLE_OP (142 , xwy ) SHADER_SWIZZLE_OP (1421, xwyx) |
|
|
1045 | SHADER_SWIZZLE_OP (1422, xwyy) SHADER_SWIZZLE_OP (1423, xwyz) SHADER_SWIZZLE_OP (1424, xwyw) SHADER_SWIZZLE_OP (143 , xwz ) |
|
|
1046 | SHADER_SWIZZLE_OP (1431, xwzx) SHADER_SWIZZLE_OP (1432, xwzy) SHADER_SWIZZLE_OP (1433, xwzz) SHADER_SWIZZLE_OP (1434, xwzw) |
|
|
1047 | SHADER_SWIZZLE_OP (144 , xww ) SHADER_SWIZZLE_OP (1441, xwwx) SHADER_SWIZZLE_OP (1442, xwwy) SHADER_SWIZZLE_OP (1443, xwwz) |
|
|
1048 | SHADER_SWIZZLE_OP (1444, xwww) SHADER_SWIZZLE_OP (2 , y ) SHADER_SWIZZLE_OP (21 , yx ) SHADER_SWIZZLE_OP (211 , yxx ) |
|
|
1049 | SHADER_SWIZZLE_OP (2111, yxxx) SHADER_SWIZZLE_OP (2112, yxxy) SHADER_SWIZZLE_OP (2113, yxxz) SHADER_SWIZZLE_OP (2114, yxxw) |
|
|
1050 | SHADER_SWIZZLE_OP (212 , yxy ) SHADER_SWIZZLE_OP (2121, yxyx) SHADER_SWIZZLE_OP (2122, yxyy) SHADER_SWIZZLE_OP (2123, yxyz) |
|
|
1051 | SHADER_SWIZZLE_OP (2124, yxyw) SHADER_SWIZZLE_OP (213 , yxz ) SHADER_SWIZZLE_OP (2131, yxzx) SHADER_SWIZZLE_OP (2132, yxzy) |
|
|
1052 | SHADER_SWIZZLE_OP (2133, yxzz) SHADER_SWIZZLE_OP (2134, yxzw) SHADER_SWIZZLE_OP (214 , yxw ) SHADER_SWIZZLE_OP (2141, yxwx) |
|
|
1053 | SHADER_SWIZZLE_OP (2142, yxwy) SHADER_SWIZZLE_OP (2143, yxwz) SHADER_SWIZZLE_OP (2144, yxww) SHADER_SWIZZLE_OP (22 , yy ) |
|
|
1054 | SHADER_SWIZZLE_OP (221 , yyx ) SHADER_SWIZZLE_OP (2211, yyxx) SHADER_SWIZZLE_OP (2212, yyxy) SHADER_SWIZZLE_OP (2213, yyxz) |
|
|
1055 | SHADER_SWIZZLE_OP (2214, yyxw) SHADER_SWIZZLE_OP (222 , yyy ) SHADER_SWIZZLE_OP (2221, yyyx) SHADER_SWIZZLE_OP (2222, yyyy) |
|
|
1056 | SHADER_SWIZZLE_OP (2223, yyyz) SHADER_SWIZZLE_OP (2224, yyyw) SHADER_SWIZZLE_OP (223 , yyz ) SHADER_SWIZZLE_OP (2231, yyzx) |
|
|
1057 | SHADER_SWIZZLE_OP (2232, yyzy) SHADER_SWIZZLE_OP (2233, yyzz) SHADER_SWIZZLE_OP (2234, yyzw) SHADER_SWIZZLE_OP (224 , yyw ) |
|
|
1058 | SHADER_SWIZZLE_OP (2241, yywx) SHADER_SWIZZLE_OP (2242, yywy) SHADER_SWIZZLE_OP (2243, yywz) SHADER_SWIZZLE_OP (2244, yyww) |
|
|
1059 | SHADER_SWIZZLE_OP (23 , yz ) SHADER_SWIZZLE_OP (231 , yzx ) SHADER_SWIZZLE_OP (2311, yzxx) SHADER_SWIZZLE_OP (2312, yzxy) |
|
|
1060 | SHADER_SWIZZLE_OP (2313, yzxz) SHADER_SWIZZLE_OP (2314, yzxw) SHADER_SWIZZLE_OP (232 , yzy ) SHADER_SWIZZLE_OP (2321, yzyx) |
|
|
1061 | SHADER_SWIZZLE_OP (2322, yzyy) SHADER_SWIZZLE_OP (2323, yzyz) SHADER_SWIZZLE_OP (2324, yzyw) SHADER_SWIZZLE_OP (233 , yzz ) |
|
|
1062 | SHADER_SWIZZLE_OP (2331, yzzx) SHADER_SWIZZLE_OP (2332, yzzy) SHADER_SWIZZLE_OP (2333, yzzz) SHADER_SWIZZLE_OP (2334, yzzw) |
|
|
1063 | SHADER_SWIZZLE_OP (234 , yzw ) SHADER_SWIZZLE_OP (2341, yzwx) SHADER_SWIZZLE_OP (2342, yzwy) SHADER_SWIZZLE_OP (2343, yzwz) |
|
|
1064 | SHADER_SWIZZLE_OP (2344, yzww) SHADER_SWIZZLE_OP (24 , yw ) SHADER_SWIZZLE_OP (241 , ywx ) SHADER_SWIZZLE_OP (2411, ywxx) |
|
|
1065 | SHADER_SWIZZLE_OP (2412, ywxy) SHADER_SWIZZLE_OP (2413, ywxz) SHADER_SWIZZLE_OP (2414, ywxw) SHADER_SWIZZLE_OP (242 , ywy ) |
|
|
1066 | SHADER_SWIZZLE_OP (2421, ywyx) SHADER_SWIZZLE_OP (2422, ywyy) SHADER_SWIZZLE_OP (2423, ywyz) SHADER_SWIZZLE_OP (2424, ywyw) |
|
|
1067 | SHADER_SWIZZLE_OP (243 , ywz ) SHADER_SWIZZLE_OP (2431, ywzx) SHADER_SWIZZLE_OP (2432, ywzy) SHADER_SWIZZLE_OP (2433, ywzz) |
|
|
1068 | SHADER_SWIZZLE_OP (2434, ywzw) SHADER_SWIZZLE_OP (244 , yww ) SHADER_SWIZZLE_OP (2441, ywwx) SHADER_SWIZZLE_OP (2442, ywwy) |
|
|
1069 | SHADER_SWIZZLE_OP (2443, ywwz) SHADER_SWIZZLE_OP (2444, ywww) SHADER_SWIZZLE_OP (3 , z ) SHADER_SWIZZLE_OP (31 , zx ) |
|
|
1070 | SHADER_SWIZZLE_OP (311 , zxx ) SHADER_SWIZZLE_OP (3111, zxxx) SHADER_SWIZZLE_OP (3112, zxxy) SHADER_SWIZZLE_OP (3113, zxxz) |
|
|
1071 | SHADER_SWIZZLE_OP (3114, zxxw) SHADER_SWIZZLE_OP (312 , zxy ) SHADER_SWIZZLE_OP (3121, zxyx) SHADER_SWIZZLE_OP (3122, zxyy) |
|
|
1072 | SHADER_SWIZZLE_OP (3123, zxyz) SHADER_SWIZZLE_OP (3124, zxyw) SHADER_SWIZZLE_OP (313 , zxz ) SHADER_SWIZZLE_OP (3131, zxzx) |
|
|
1073 | SHADER_SWIZZLE_OP (3132, zxzy) SHADER_SWIZZLE_OP (3133, zxzz) SHADER_SWIZZLE_OP (3134, zxzw) SHADER_SWIZZLE_OP (314 , zxw ) |
|
|
1074 | SHADER_SWIZZLE_OP (3141, zxwx) SHADER_SWIZZLE_OP (3142, zxwy) SHADER_SWIZZLE_OP (3143, zxwz) SHADER_SWIZZLE_OP (3144, zxww) |
|
|
1075 | SHADER_SWIZZLE_OP (32 , zy ) SHADER_SWIZZLE_OP (321 , zyx ) SHADER_SWIZZLE_OP (3211, zyxx) SHADER_SWIZZLE_OP (3212, zyxy) |
|
|
1076 | SHADER_SWIZZLE_OP (3213, zyxz) SHADER_SWIZZLE_OP (3214, zyxw) SHADER_SWIZZLE_OP (322 , zyy ) SHADER_SWIZZLE_OP (3221, zyyx) |
|
|
1077 | SHADER_SWIZZLE_OP (3222, zyyy) SHADER_SWIZZLE_OP (3223, zyyz) SHADER_SWIZZLE_OP (3224, zyyw) SHADER_SWIZZLE_OP (323 , zyz ) |
|
|
1078 | SHADER_SWIZZLE_OP (3231, zyzx) SHADER_SWIZZLE_OP (3232, zyzy) SHADER_SWIZZLE_OP (3233, zyzz) SHADER_SWIZZLE_OP (3234, zyzw) |
|
|
1079 | SHADER_SWIZZLE_OP (324 , zyw ) SHADER_SWIZZLE_OP (3241, zywx) SHADER_SWIZZLE_OP (3242, zywy) SHADER_SWIZZLE_OP (3243, zywz) |
|
|
1080 | SHADER_SWIZZLE_OP (3244, zyww) SHADER_SWIZZLE_OP (33 , zz ) SHADER_SWIZZLE_OP (331 , zzx ) SHADER_SWIZZLE_OP (3311, zzxx) |
|
|
1081 | SHADER_SWIZZLE_OP (3312, zzxy) SHADER_SWIZZLE_OP (3313, zzxz) SHADER_SWIZZLE_OP (3314, zzxw) SHADER_SWIZZLE_OP (332 , zzy ) |
|
|
1082 | SHADER_SWIZZLE_OP (3321, zzyx) SHADER_SWIZZLE_OP (3322, zzyy) SHADER_SWIZZLE_OP (3323, zzyz) SHADER_SWIZZLE_OP (3324, zzyw) |
|
|
1083 | SHADER_SWIZZLE_OP (333 , zzz ) SHADER_SWIZZLE_OP (3331, zzzx) SHADER_SWIZZLE_OP (3332, zzzy) SHADER_SWIZZLE_OP (3333, zzzz) |
|
|
1084 | SHADER_SWIZZLE_OP (3334, zzzw) SHADER_SWIZZLE_OP (334 , zzw ) SHADER_SWIZZLE_OP (3341, zzwx) SHADER_SWIZZLE_OP (3342, zzwy) |
|
|
1085 | SHADER_SWIZZLE_OP (3343, zzwz) SHADER_SWIZZLE_OP (3344, zzww) SHADER_SWIZZLE_OP (34 , zw ) SHADER_SWIZZLE_OP (341 , zwx ) |
|
|
1086 | SHADER_SWIZZLE_OP (3411, zwxx) SHADER_SWIZZLE_OP (3412, zwxy) SHADER_SWIZZLE_OP (3413, zwxz) SHADER_SWIZZLE_OP (3414, zwxw) |
|
|
1087 | SHADER_SWIZZLE_OP (342 , zwy ) SHADER_SWIZZLE_OP (3421, zwyx) SHADER_SWIZZLE_OP (3422, zwyy) SHADER_SWIZZLE_OP (3423, zwyz) |
|
|
1088 | SHADER_SWIZZLE_OP (3424, zwyw) SHADER_SWIZZLE_OP (343 , zwz ) SHADER_SWIZZLE_OP (3431, zwzx) SHADER_SWIZZLE_OP (3432, zwzy) |
|
|
1089 | SHADER_SWIZZLE_OP (3433, zwzz) SHADER_SWIZZLE_OP (3434, zwzw) SHADER_SWIZZLE_OP (344 , zww ) SHADER_SWIZZLE_OP (3441, zwwx) |
|
|
1090 | SHADER_SWIZZLE_OP (3442, zwwy) SHADER_SWIZZLE_OP (3443, zwwz) SHADER_SWIZZLE_OP (3444, zwww) SHADER_SWIZZLE_OP (4 , w ) |
|
|
1091 | SHADER_SWIZZLE_OP (41 , wx ) SHADER_SWIZZLE_OP (411 , wxx ) SHADER_SWIZZLE_OP (4111, wxxx) SHADER_SWIZZLE_OP (4112, wxxy) |
|
|
1092 | SHADER_SWIZZLE_OP (4113, wxxz) SHADER_SWIZZLE_OP (4114, wxxw) SHADER_SWIZZLE_OP (412 , wxy ) SHADER_SWIZZLE_OP (4121, wxyx) |
|
|
1093 | SHADER_SWIZZLE_OP (4122, wxyy) SHADER_SWIZZLE_OP (4123, wxyz) SHADER_SWIZZLE_OP (4124, wxyw) SHADER_SWIZZLE_OP (413 , wxz ) |
|
|
1094 | SHADER_SWIZZLE_OP (4131, wxzx) SHADER_SWIZZLE_OP (4132, wxzy) SHADER_SWIZZLE_OP (4133, wxzz) SHADER_SWIZZLE_OP (4134, wxzw) |
|
|
1095 | SHADER_SWIZZLE_OP (414 , wxw ) SHADER_SWIZZLE_OP (4141, wxwx) SHADER_SWIZZLE_OP (4142, wxwy) SHADER_SWIZZLE_OP (4143, wxwz) |
|
|
1096 | SHADER_SWIZZLE_OP (4144, wxww) SHADER_SWIZZLE_OP (42 , wy ) SHADER_SWIZZLE_OP (421 , wyx ) SHADER_SWIZZLE_OP (4211, wyxx) |
|
|
1097 | SHADER_SWIZZLE_OP (4212, wyxy) SHADER_SWIZZLE_OP (4213, wyxz) SHADER_SWIZZLE_OP (4214, wyxw) SHADER_SWIZZLE_OP (422 , wyy ) |
|
|
1098 | SHADER_SWIZZLE_OP (4221, wyyx) SHADER_SWIZZLE_OP (4222, wyyy) SHADER_SWIZZLE_OP (4223, wyyz) SHADER_SWIZZLE_OP (4224, wyyw) |
|
|
1099 | SHADER_SWIZZLE_OP (423 , wyz ) SHADER_SWIZZLE_OP (4231, wyzx) SHADER_SWIZZLE_OP (4232, wyzy) SHADER_SWIZZLE_OP (4233, wyzz) |
|
|
1100 | SHADER_SWIZZLE_OP (4234, wyzw) SHADER_SWIZZLE_OP (424 , wyw ) SHADER_SWIZZLE_OP (4241, wywx) SHADER_SWIZZLE_OP (4242, wywy) |
|
|
1101 | SHADER_SWIZZLE_OP (4243, wywz) SHADER_SWIZZLE_OP (4244, wyww) SHADER_SWIZZLE_OP (43 , wz ) SHADER_SWIZZLE_OP (431 , wzx ) |
|
|
1102 | SHADER_SWIZZLE_OP (4311, wzxx) SHADER_SWIZZLE_OP (4312, wzxy) SHADER_SWIZZLE_OP (4313, wzxz) SHADER_SWIZZLE_OP (4314, wzxw) |
|
|
1103 | SHADER_SWIZZLE_OP (432 , wzy ) SHADER_SWIZZLE_OP (4321, wzyx) SHADER_SWIZZLE_OP (4322, wzyy) SHADER_SWIZZLE_OP (4323, wzyz) |
|
|
1104 | SHADER_SWIZZLE_OP (4324, wzyw) SHADER_SWIZZLE_OP (433 , wzz ) SHADER_SWIZZLE_OP (4331, wzzx) SHADER_SWIZZLE_OP (4332, wzzy) |
|
|
1105 | SHADER_SWIZZLE_OP (4333, wzzz) SHADER_SWIZZLE_OP (4334, wzzw) SHADER_SWIZZLE_OP (434 , wzw ) SHADER_SWIZZLE_OP (4341, wzwx) |
|
|
1106 | SHADER_SWIZZLE_OP (4342, wzwy) SHADER_SWIZZLE_OP (4343, wzwz) SHADER_SWIZZLE_OP (4344, wzww) SHADER_SWIZZLE_OP (44 , ww ) |
|
|
1107 | SHADER_SWIZZLE_OP (441 , wwx ) SHADER_SWIZZLE_OP (4411, wwxx) SHADER_SWIZZLE_OP (4412, wwxy) SHADER_SWIZZLE_OP (4413, wwxz) |
|
|
1108 | SHADER_SWIZZLE_OP (4414, wwxw) SHADER_SWIZZLE_OP (442 , wwy ) SHADER_SWIZZLE_OP (4421, wwyx) SHADER_SWIZZLE_OP (4422, wwyy) |
|
|
1109 | SHADER_SWIZZLE_OP (4423, wwyz) SHADER_SWIZZLE_OP (4424, wwyw) SHADER_SWIZZLE_OP (443 , wwz ) SHADER_SWIZZLE_OP (4431, wwzx) |
|
|
1110 | SHADER_SWIZZLE_OP (4432, wwzy) SHADER_SWIZZLE_OP (4433, wwzz) SHADER_SWIZZLE_OP (4434, wwzw) SHADER_SWIZZLE_OP (444 , www ) |
|
|
1111 | SHADER_SWIZZLE_OP (4441, wwwx) SHADER_SWIZZLE_OP (4442, wwwy) SHADER_SWIZZLE_OP (4443, wwwz) SHADER_SWIZZLE_OP (4444, wwww) |
|
|
1112 | |
|
|
1113 | # undef SHADER_SWIZZLE_OP |
|
|
1114 | |
|
|
1115 | # define SHADER_FUNC0_(name, glname) \ |
|
|
1116 | template<typename A> \ |
|
|
1117 | inline const sl_expr<sl_func0> \ |
|
|
1118 | name () \ |
|
|
1119 | { \ |
|
|
1120 | return sl_func0 (#glname " ("); \ |
|
|
1121 | } |
|
|
1122 | |
|
|
1123 | # define SHADER_FUNC0(name) SHADER_FUNC0_(name,name) |
|
|
1124 | |
|
|
1125 | # define SHADER_FUNC1_(name, glname) \ |
|
|
1126 | template<typename A> \ |
|
|
1127 | inline const sl_expr< sl_func1<typename sl_convert<A>::T> > \ |
|
|
1128 | name (const A &a) \ |
|
|
1129 | { \ |
|
|
1130 | return sl_func1<typename sl_convert<A>::T> (#glname " (", sl_convert<A>::convert (a));\ |
|
|
1131 | } |
|
|
1132 | |
|
|
1133 | # define SHADER_FUNC1(name) SHADER_FUNC1_(name,name) |
|
|
1134 | |
|
|
1135 | # define SHADER_FUNC2_(name, glname) \ |
|
|
1136 | template<typename A, typename B> \ |
|
|
1137 | inline const sl_expr< sl_func2<typename sl_convert<A>::T, typename sl_convert<B>::T> > \ |
|
|
1138 | name (const A &a, const B &b) \ |
|
|
1139 | { \ |
|
|
1140 | return sl_func2<typename sl_convert<A>::T, typename sl_convert<B>::T> (#glname " (", sl_convert<A>::convert (a), sl_convert<B>::convert (b));\ |
|
|
1141 | } |
|
|
1142 | |
|
|
1143 | # define SHADER_FUNC2(name) SHADER_FUNC2_(name,name) |
|
|
1144 | |
|
|
1145 | # define SHADER_FUNC3_(name, glname) \ |
|
|
1146 | template<typename A, typename B, typename C> \ |
|
|
1147 | inline const sl_expr< sl_func3<typename sl_convert<A>::T, typename sl_convert<B>::T, typename sl_convert<C>::T> > \ |
|
|
1148 | name (const A &a, const B &b, const C &c) \ |
|
|
1149 | { \ |
|
|
1150 | return sl_func3<typename sl_convert<A>::T, typename sl_convert<B>::T, typename sl_convert<C>::T> (#glname " (", sl_convert<A>::convert (a), sl_convert<B>::convert (b), sl_convert<C>::convert (c));\ |
|
|
1151 | } |
|
|
1152 | |
|
|
1153 | # define SHADER_FUNC3(name) SHADER_FUNC3_(name,name) |
|
|
1154 | |
|
|
1155 | # define SHADER_FUNC4_(name, glname) \ |
|
|
1156 | template<typename A, typename B, typename C, typename D> \ |
|
|
1157 | inline const sl_expr< sl_func4<typename sl_convert<A>::T, typename sl_convert<B>::T, typename sl_convert<C>::T, typename sl_convert<D>::T > > \ |
|
|
1158 | name (const A &a, const B &b, const C &c, const D &d) \ |
|
|
1159 | { \ |
|
|
1160 | return sl_func4<typename sl_convert<A>::T, typename sl_convert<B>::T, typename sl_convert<C>::T, typename sl_convert<D>::T> (#glname " (", sl_convert<A>::convert (a), sl_convert<B>::convert (b), sl_convert<C>::convert (c), sl_convert<D>::convert (d));\ |
|
|
1161 | } |
|
|
1162 | |
|
|
1163 | # define SHADER_FUNC4(name) SHADER_FUNC4_(name,name) |
|
|
1164 | |
|
|
1165 | SHADER_FUNC1 (abs) |
|
|
1166 | SHADER_FUNC1 (acos) |
|
|
1167 | SHADER_FUNC1 (all) |
|
|
1168 | SHADER_FUNC1 (any) |
|
|
1169 | SHADER_FUNC1 (asin) |
|
|
1170 | SHADER_FUNC1 (atan) |
|
|
1171 | SHADER_FUNC2 (atan) |
|
|
1172 | SHADER_FUNC1 (ceil) |
|
|
1173 | SHADER_FUNC3 (clamp) |
|
|
1174 | SHADER_FUNC1 (cos) |
|
|
1175 | SHADER_FUNC2 (cross) |
|
|
1176 | SHADER_FUNC1 (dFdx) |
|
|
1177 | SHADER_FUNC1 (dFdy) |
|
|
1178 | SHADER_FUNC1 (degrees) |
|
|
1179 | SHADER_FUNC2 (distance) |
|
|
1180 | SHADER_FUNC2 (dot) |
|
|
1181 | SHADER_FUNC2_(equal, equal) |
|
|
1182 | SHADER_FUNC1 (exp) |
|
|
1183 | SHADER_FUNC1 (exp2) |
|
|
1184 | SHADER_FUNC3 (faceforward) |
|
|
1185 | SHADER_FUNC1 (floor) |
|
|
1186 | SHADER_FUNC1 (fract) |
|
|
1187 | SHADER_FUNC0 (ftransform) |
|
|
1188 | SHADER_FUNC1 (fwidth) |
|
|
1189 | SHADER_FUNC2_(greater_than_equal, greaterThanEqual) |
|
|
1190 | SHADER_FUNC2_(greater_then, greaterThan) |
|
|
1191 | SHADER_FUNC1 (inversesqrt) |
|
|
1192 | SHADER_FUNC1 (length) |
|
|
1193 | SHADER_FUNC2_(less_than, lessThan) |
|
|
1194 | SHADER_FUNC2_(less_than_equal, lessThanEqual) |
|
|
1195 | SHADER_FUNC1 (log) |
|
|
1196 | SHADER_FUNC1 (log2) |
|
|
1197 | SHADER_FUNC2_(matrix_comp_mult, matrixCompMult) |
|
|
1198 | SHADER_FUNC2 (max) |
|
|
1199 | SHADER_FUNC2 (min) |
|
|
1200 | SHADER_FUNC3 (mix) |
|
|
1201 | SHADER_FUNC2 (mod) |
|
|
1202 | SHADER_FUNC1 (noise1) |
|
|
1203 | SHADER_FUNC1 (noise2) |
|
|
1204 | SHADER_FUNC1 (noise3) |
|
|
1205 | SHADER_FUNC1 (noise4) |
|
|
1206 | SHADER_FUNC1 (normalize) |
|
|
1207 | SHADER_FUNC1 (gl_not) // TODO |
|
|
1208 | SHADER_FUNC2_(notequal, notEqual) |
|
|
1209 | SHADER_FUNC2 (pow) |
|
|
1210 | SHADER_FUNC1 (radians) |
|
|
1211 | SHADER_FUNC2 (reflect) |
|
|
1212 | SHADER_FUNC3 (refract) |
|
|
1213 | SHADER_FUNC2_(shadow_1d, shadow1D) |
|
|
1214 | SHADER_FUNC3_(shadow_1d, shadow1D) |
|
|
1215 | SHADER_FUNC3_(shadow_1d_lod, shadow1DLod) |
|
|
1216 | SHADER_FUNC2_(shadow_1d_proj, shadow1DProj) |
|
|
1217 | SHADER_FUNC3_(shadow_1d_proj, shadow1DProj) |
|
|
1218 | SHADER_FUNC3_(shadow_1d_proj_lod, shadow1DProjLod) |
|
|
1219 | SHADER_FUNC2_(shadow_2d, shadow2D) |
|
|
1220 | SHADER_FUNC3_(shadow_2d, shadow2D) |
|
|
1221 | SHADER_FUNC3_(shadow_2d_lod, shadow2DLod) |
|
|
1222 | SHADER_FUNC2_(shadow_2d_proj, shadow2DProj) |
|
|
1223 | SHADER_FUNC3_(shadow_2d_proj, shadow2DProj) |
|
|
1224 | SHADER_FUNC3_(shadow_2d_proj_lod, shadow2DProjLod) |
|
|
1225 | SHADER_FUNC1 (sign) |
|
|
1226 | SHADER_FUNC1 (sin) |
|
|
1227 | SHADER_FUNC3 (smoothstep) |
|
|
1228 | SHADER_FUNC1 (sqrt) |
|
|
1229 | SHADER_FUNC2 (step) |
|
|
1230 | SHADER_FUNC1 (tan) |
|
|
1231 | SHADER_FUNC2_(texture_1d, texture1D) |
|
|
1232 | SHADER_FUNC3_(texture_1d, texture1D) |
|
|
1233 | SHADER_FUNC3_(texture_1d_lod, texture1DLod) |
|
|
1234 | SHADER_FUNC2_(texture_1d_proj, texture1DProj) |
|
|
1235 | SHADER_FUNC3_(texture_1d_proj, texture1DProj) |
|
|
1236 | SHADER_FUNC3_(texture_1d_proj_lod, texture1DProjLod) |
|
|
1237 | SHADER_FUNC2_(texture_2d, texture2D) |
|
|
1238 | SHADER_FUNC3_(texture_2d, texture2D) |
|
|
1239 | SHADER_FUNC3_(texture_2d_lod, texture2DLod) |
|
|
1240 | SHADER_FUNC2_(texture_2d_proj, texture2DProj) |
|
|
1241 | SHADER_FUNC3_(texture_2d_proj, texture2DProj) |
|
|
1242 | SHADER_FUNC3_(texture_2d_proj_lod, texture2DProjLod) |
|
|
1243 | SHADER_FUNC2_(texture_3d, texture3D) |
|
|
1244 | SHADER_FUNC3_(texture_3d, texture3D) |
|
|
1245 | SHADER_FUNC3_(texture_3d_lod, texture3DLod) |
|
|
1246 | SHADER_FUNC2_(texture_3d_proj, texture3DProj) |
|
|
1247 | SHADER_FUNC3_(texture_3d_proj, texture3DProj) |
|
|
1248 | SHADER_FUNC3_(texture_3d_proj_lod, texture3DProjLod) |
|
|
1249 | SHADER_FUNC2_(texture_cube, textureCube) |
|
|
1250 | SHADER_FUNC3_(texture_cube, textureCube) |
|
|
1251 | SHADER_FUNC3_(texture_cude_lod, textureCubeLod) |
|
|
1252 | SHADER_FUNC1 (vec2) SHADER_FUNC2 (vec2) |
|
|
1253 | SHADER_FUNC1 (vec3) SHADER_FUNC2 (vec3) SHADER_FUNC3 (vec3) |
|
|
1254 | SHADER_FUNC1 (vec4) SHADER_FUNC2 (vec4) SHADER_FUNC3 (vec4) SHADER_FUNC4 (vec4) |
|
|
1255 | SHADER_FUNC1 (mat2) SHADER_FUNC2 (mat2) |
|
|
1256 | SHADER_FUNC1 (mat3) SHADER_FUNC2 (mat3) SHADER_FUNC3 (mat3) |
|
|
1257 | SHADER_FUNC1 (mat4) SHADER_FUNC2 (mat4) SHADER_FUNC3 (mat4) SHADER_FUNC4 (mat4) |
|
|
1258 | |
|
|
1259 | # undef SHADER_FUNC0 |
|
|
1260 | # undef SHADER_FUNC0_ |
|
|
1261 | # undef SHADER_FUNC1 |
|
|
1262 | # undef SHADER_FUNC1_ |
|
|
1263 | # undef SHADER_FUNC2 |
|
|
1264 | # undef SHADER_FUNC2_ |
|
|
1265 | # undef SHADER_FUNC3 |
|
|
1266 | # undef SHADER_FUNC3_ |
|
|
1267 | # undef SHADER_FUNC4 |
|
|
1268 | # undef SHADER_FUNC5_ |
991 | } |
1269 | } |
992 | |
|
|
993 | # define SHADER_SWIZZLE_OP(abcd,type) \ |
|
|
994 | template<typename T> \ |
|
|
995 | inline const sl_expr< sl_concat3< sl_append_const_string, \ |
|
|
996 | typename sl_convert<T>::T, \ |
|
|
997 | sl_string<7> \ |
|
|
998 | > > \ |
|
|
999 | type (const T &t) \ |
|
|
1000 | { \ |
|
|
1001 | return swizzle (t, (abcd / 1000) % 5, (abcd / 100) % 5, (abcd / 10) % 5, (abcd / 1) % 5); \ |
|
|
1002 | } |
|
|
1003 | |
|
|
1004 | // brute force is lovely, ain't it? |
|
|
1005 | SHADER_SWIZZLE_OP (1 , x ) SHADER_SWIZZLE_OP (11 , xx ) SHADER_SWIZZLE_OP (111 , xxx ) SHADER_SWIZZLE_OP (1111, xxxx) |
|
|
1006 | SHADER_SWIZZLE_OP (1112, xxxy) SHADER_SWIZZLE_OP (1113, xxxz) SHADER_SWIZZLE_OP (1114, xxxw) SHADER_SWIZZLE_OP (112 , xxy ) |
|
|
1007 | SHADER_SWIZZLE_OP (1121, xxyx) SHADER_SWIZZLE_OP (1122, xxyy) SHADER_SWIZZLE_OP (1123, xxyz) SHADER_SWIZZLE_OP (1124, xxyw) |
|
|
1008 | SHADER_SWIZZLE_OP (113 , xxz ) SHADER_SWIZZLE_OP (1131, xxzx) SHADER_SWIZZLE_OP (1132, xxzy) SHADER_SWIZZLE_OP (1133, xxzz) |
|
|
1009 | SHADER_SWIZZLE_OP (1134, xxzw) SHADER_SWIZZLE_OP (114 , xxw ) SHADER_SWIZZLE_OP (1141, xxwx) SHADER_SWIZZLE_OP (1142, xxwy) |
|
|
1010 | SHADER_SWIZZLE_OP (1143, xxwz) SHADER_SWIZZLE_OP (1144, xxww) SHADER_SWIZZLE_OP (12 , xy ) SHADER_SWIZZLE_OP (121 , xyx ) |
|
|
1011 | SHADER_SWIZZLE_OP (1211, xyxx) SHADER_SWIZZLE_OP (1212, xyxy) SHADER_SWIZZLE_OP (1213, xyxz) SHADER_SWIZZLE_OP (1214, xyxw) |
|
|
1012 | SHADER_SWIZZLE_OP (122 , xyy ) SHADER_SWIZZLE_OP (1221, xyyx) SHADER_SWIZZLE_OP (1222, xyyy) SHADER_SWIZZLE_OP (1223, xyyz) |
|
|
1013 | SHADER_SWIZZLE_OP (1224, xyyw) SHADER_SWIZZLE_OP (123 , xyz ) SHADER_SWIZZLE_OP (1231, xyzx) SHADER_SWIZZLE_OP (1232, xyzy) |
|
|
1014 | SHADER_SWIZZLE_OP (1233, xyzz) SHADER_SWIZZLE_OP (1234, xyzw) SHADER_SWIZZLE_OP (124 , xyw ) SHADER_SWIZZLE_OP (1241, xywx) |
|
|
1015 | SHADER_SWIZZLE_OP (1242, xywy) SHADER_SWIZZLE_OP (1243, xywz) SHADER_SWIZZLE_OP (1244, xyww) SHADER_SWIZZLE_OP (13 , xz ) |
|
|
1016 | SHADER_SWIZZLE_OP (131 , xzx ) SHADER_SWIZZLE_OP (1311, xzxx) SHADER_SWIZZLE_OP (1312, xzxy) SHADER_SWIZZLE_OP (1313, xzxz) |
|
|
1017 | SHADER_SWIZZLE_OP (1314, xzxw) SHADER_SWIZZLE_OP (132 , xzy ) SHADER_SWIZZLE_OP (1321, xzyx) SHADER_SWIZZLE_OP (1322, xzyy) |
|
|
1018 | SHADER_SWIZZLE_OP (1323, xzyz) SHADER_SWIZZLE_OP (1324, xzyw) SHADER_SWIZZLE_OP (133 , xzz ) SHADER_SWIZZLE_OP (1331, xzzx) |
|
|
1019 | SHADER_SWIZZLE_OP (1332, xzzy) SHADER_SWIZZLE_OP (1333, xzzz) SHADER_SWIZZLE_OP (1334, xzzw) SHADER_SWIZZLE_OP (134 , xzw ) |
|
|
1020 | SHADER_SWIZZLE_OP (1341, xzwx) SHADER_SWIZZLE_OP (1342, xzwy) SHADER_SWIZZLE_OP (1343, xzwz) SHADER_SWIZZLE_OP (1344, xzww) |
|
|
1021 | SHADER_SWIZZLE_OP (14 , xw ) SHADER_SWIZZLE_OP (141 , xwx ) SHADER_SWIZZLE_OP (1411, xwxx) SHADER_SWIZZLE_OP (1412, xwxy) |
|
|
1022 | SHADER_SWIZZLE_OP (1413, xwxz) SHADER_SWIZZLE_OP (1414, xwxw) SHADER_SWIZZLE_OP (142 , xwy ) SHADER_SWIZZLE_OP (1421, xwyx) |
|
|
1023 | SHADER_SWIZZLE_OP (1422, xwyy) SHADER_SWIZZLE_OP (1423, xwyz) SHADER_SWIZZLE_OP (1424, xwyw) SHADER_SWIZZLE_OP (143 , xwz ) |
|
|
1024 | SHADER_SWIZZLE_OP (1431, xwzx) SHADER_SWIZZLE_OP (1432, xwzy) SHADER_SWIZZLE_OP (1433, xwzz) SHADER_SWIZZLE_OP (1434, xwzw) |
|
|
1025 | SHADER_SWIZZLE_OP (144 , xww ) SHADER_SWIZZLE_OP (1441, xwwx) SHADER_SWIZZLE_OP (1442, xwwy) SHADER_SWIZZLE_OP (1443, xwwz) |
|
|
1026 | SHADER_SWIZZLE_OP (1444, xwww) SHADER_SWIZZLE_OP (2 , y ) SHADER_SWIZZLE_OP (21 , yx ) SHADER_SWIZZLE_OP (211 , yxx ) |
|
|
1027 | SHADER_SWIZZLE_OP (2111, yxxx) SHADER_SWIZZLE_OP (2112, yxxy) SHADER_SWIZZLE_OP (2113, yxxz) SHADER_SWIZZLE_OP (2114, yxxw) |
|
|
1028 | SHADER_SWIZZLE_OP (212 , yxy ) SHADER_SWIZZLE_OP (2121, yxyx) SHADER_SWIZZLE_OP (2122, yxyy) SHADER_SWIZZLE_OP (2123, yxyz) |
|
|
1029 | SHADER_SWIZZLE_OP (2124, yxyw) SHADER_SWIZZLE_OP (213 , yxz ) SHADER_SWIZZLE_OP (2131, yxzx) SHADER_SWIZZLE_OP (2132, yxzy) |
|
|
1030 | SHADER_SWIZZLE_OP (2133, yxzz) SHADER_SWIZZLE_OP (2134, yxzw) SHADER_SWIZZLE_OP (214 , yxw ) SHADER_SWIZZLE_OP (2141, yxwx) |
|
|
1031 | SHADER_SWIZZLE_OP (2142, yxwy) SHADER_SWIZZLE_OP (2143, yxwz) SHADER_SWIZZLE_OP (2144, yxww) SHADER_SWIZZLE_OP (22 , yy ) |
|
|
1032 | SHADER_SWIZZLE_OP (221 , yyx ) SHADER_SWIZZLE_OP (2211, yyxx) SHADER_SWIZZLE_OP (2212, yyxy) SHADER_SWIZZLE_OP (2213, yyxz) |
|
|
1033 | SHADER_SWIZZLE_OP (2214, yyxw) SHADER_SWIZZLE_OP (222 , yyy ) SHADER_SWIZZLE_OP (2221, yyyx) SHADER_SWIZZLE_OP (2222, yyyy) |
|
|
1034 | SHADER_SWIZZLE_OP (2223, yyyz) SHADER_SWIZZLE_OP (2224, yyyw) SHADER_SWIZZLE_OP (223 , yyz ) SHADER_SWIZZLE_OP (2231, yyzx) |
|
|
1035 | SHADER_SWIZZLE_OP (2232, yyzy) SHADER_SWIZZLE_OP (2233, yyzz) SHADER_SWIZZLE_OP (2234, yyzw) SHADER_SWIZZLE_OP (224 , yyw ) |
|
|
1036 | SHADER_SWIZZLE_OP (2241, yywx) SHADER_SWIZZLE_OP (2242, yywy) SHADER_SWIZZLE_OP (2243, yywz) SHADER_SWIZZLE_OP (2244, yyww) |
|
|
1037 | SHADER_SWIZZLE_OP (23 , yz ) SHADER_SWIZZLE_OP (231 , yzx ) SHADER_SWIZZLE_OP (2311, yzxx) SHADER_SWIZZLE_OP (2312, yzxy) |
|
|
1038 | SHADER_SWIZZLE_OP (2313, yzxz) SHADER_SWIZZLE_OP (2314, yzxw) SHADER_SWIZZLE_OP (232 , yzy ) SHADER_SWIZZLE_OP (2321, yzyx) |
|
|
1039 | SHADER_SWIZZLE_OP (2322, yzyy) SHADER_SWIZZLE_OP (2323, yzyz) SHADER_SWIZZLE_OP (2324, yzyw) SHADER_SWIZZLE_OP (233 , yzz ) |
|
|
1040 | SHADER_SWIZZLE_OP (2331, yzzx) SHADER_SWIZZLE_OP (2332, yzzy) SHADER_SWIZZLE_OP (2333, yzzz) SHADER_SWIZZLE_OP (2334, yzzw) |
|
|
1041 | SHADER_SWIZZLE_OP (234 , yzw ) SHADER_SWIZZLE_OP (2341, yzwx) SHADER_SWIZZLE_OP (2342, yzwy) SHADER_SWIZZLE_OP (2343, yzwz) |
|
|
1042 | SHADER_SWIZZLE_OP (2344, yzww) SHADER_SWIZZLE_OP (24 , yw ) SHADER_SWIZZLE_OP (241 , ywx ) SHADER_SWIZZLE_OP (2411, ywxx) |
|
|
1043 | SHADER_SWIZZLE_OP (2412, ywxy) SHADER_SWIZZLE_OP (2413, ywxz) SHADER_SWIZZLE_OP (2414, ywxw) SHADER_SWIZZLE_OP (242 , ywy ) |
|
|
1044 | SHADER_SWIZZLE_OP (2421, ywyx) SHADER_SWIZZLE_OP (2422, ywyy) SHADER_SWIZZLE_OP (2423, ywyz) SHADER_SWIZZLE_OP (2424, ywyw) |
|
|
1045 | SHADER_SWIZZLE_OP (243 , ywz ) SHADER_SWIZZLE_OP (2431, ywzx) SHADER_SWIZZLE_OP (2432, ywzy) SHADER_SWIZZLE_OP (2433, ywzz) |
|
|
1046 | SHADER_SWIZZLE_OP (2434, ywzw) SHADER_SWIZZLE_OP (244 , yww ) SHADER_SWIZZLE_OP (2441, ywwx) SHADER_SWIZZLE_OP (2442, ywwy) |
|
|
1047 | SHADER_SWIZZLE_OP (2443, ywwz) SHADER_SWIZZLE_OP (2444, ywww) SHADER_SWIZZLE_OP (3 , z ) SHADER_SWIZZLE_OP (31 , zx ) |
|
|
1048 | SHADER_SWIZZLE_OP (311 , zxx ) SHADER_SWIZZLE_OP (3111, zxxx) SHADER_SWIZZLE_OP (3112, zxxy) SHADER_SWIZZLE_OP (3113, zxxz) |
|
|
1049 | SHADER_SWIZZLE_OP (3114, zxxw) SHADER_SWIZZLE_OP (312 , zxy ) SHADER_SWIZZLE_OP (3121, zxyx) SHADER_SWIZZLE_OP (3122, zxyy) |
|
|
1050 | SHADER_SWIZZLE_OP (3123, zxyz) SHADER_SWIZZLE_OP (3124, zxyw) SHADER_SWIZZLE_OP (313 , zxz ) SHADER_SWIZZLE_OP (3131, zxzx) |
|
|
1051 | SHADER_SWIZZLE_OP (3132, zxzy) SHADER_SWIZZLE_OP (3133, zxzz) SHADER_SWIZZLE_OP (3134, zxzw) SHADER_SWIZZLE_OP (314 , zxw ) |
|
|
1052 | SHADER_SWIZZLE_OP (3141, zxwx) SHADER_SWIZZLE_OP (3142, zxwy) SHADER_SWIZZLE_OP (3143, zxwz) SHADER_SWIZZLE_OP (3144, zxww) |
|
|
1053 | SHADER_SWIZZLE_OP (32 , zy ) SHADER_SWIZZLE_OP (321 , zyx ) SHADER_SWIZZLE_OP (3211, zyxx) SHADER_SWIZZLE_OP (3212, zyxy) |
|
|
1054 | SHADER_SWIZZLE_OP (3213, zyxz) SHADER_SWIZZLE_OP (3214, zyxw) SHADER_SWIZZLE_OP (322 , zyy ) SHADER_SWIZZLE_OP (3221, zyyx) |
|
|
1055 | SHADER_SWIZZLE_OP (3222, zyyy) SHADER_SWIZZLE_OP (3223, zyyz) SHADER_SWIZZLE_OP (3224, zyyw) SHADER_SWIZZLE_OP (323 , zyz ) |
|
|
1056 | SHADER_SWIZZLE_OP (3231, zyzx) SHADER_SWIZZLE_OP (3232, zyzy) SHADER_SWIZZLE_OP (3233, zyzz) SHADER_SWIZZLE_OP (3234, zyzw) |
|
|
1057 | SHADER_SWIZZLE_OP (324 , zyw ) SHADER_SWIZZLE_OP (3241, zywx) SHADER_SWIZZLE_OP (3242, zywy) SHADER_SWIZZLE_OP (3243, zywz) |
|
|
1058 | SHADER_SWIZZLE_OP (3244, zyww) SHADER_SWIZZLE_OP (33 , zz ) SHADER_SWIZZLE_OP (331 , zzx ) SHADER_SWIZZLE_OP (3311, zzxx) |
|
|
1059 | SHADER_SWIZZLE_OP (3312, zzxy) SHADER_SWIZZLE_OP (3313, zzxz) SHADER_SWIZZLE_OP (3314, zzxw) SHADER_SWIZZLE_OP (332 , zzy ) |
|
|
1060 | SHADER_SWIZZLE_OP (3321, zzyx) SHADER_SWIZZLE_OP (3322, zzyy) SHADER_SWIZZLE_OP (3323, zzyz) SHADER_SWIZZLE_OP (3324, zzyw) |
|
|
1061 | SHADER_SWIZZLE_OP (333 , zzz ) SHADER_SWIZZLE_OP (3331, zzzx) SHADER_SWIZZLE_OP (3332, zzzy) SHADER_SWIZZLE_OP (3333, zzzz) |
|
|
1062 | SHADER_SWIZZLE_OP (3334, zzzw) SHADER_SWIZZLE_OP (334 , zzw ) SHADER_SWIZZLE_OP (3341, zzwx) SHADER_SWIZZLE_OP (3342, zzwy) |
|
|
1063 | SHADER_SWIZZLE_OP (3343, zzwz) SHADER_SWIZZLE_OP (3344, zzww) SHADER_SWIZZLE_OP (34 , zw ) SHADER_SWIZZLE_OP (341 , zwx ) |
|
|
1064 | SHADER_SWIZZLE_OP (3411, zwxx) SHADER_SWIZZLE_OP (3412, zwxy) SHADER_SWIZZLE_OP (3413, zwxz) SHADER_SWIZZLE_OP (3414, zwxw) |
|
|
1065 | SHADER_SWIZZLE_OP (342 , zwy ) SHADER_SWIZZLE_OP (3421, zwyx) SHADER_SWIZZLE_OP (3422, zwyy) SHADER_SWIZZLE_OP (3423, zwyz) |
|
|
1066 | SHADER_SWIZZLE_OP (3424, zwyw) SHADER_SWIZZLE_OP (343 , zwz ) SHADER_SWIZZLE_OP (3431, zwzx) SHADER_SWIZZLE_OP (3432, zwzy) |
|
|
1067 | SHADER_SWIZZLE_OP (3433, zwzz) SHADER_SWIZZLE_OP (3434, zwzw) SHADER_SWIZZLE_OP (344 , zww ) SHADER_SWIZZLE_OP (3441, zwwx) |
|
|
1068 | SHADER_SWIZZLE_OP (3442, zwwy) SHADER_SWIZZLE_OP (3443, zwwz) SHADER_SWIZZLE_OP (3444, zwww) SHADER_SWIZZLE_OP (4 , w ) |
|
|
1069 | SHADER_SWIZZLE_OP (41 , wx ) SHADER_SWIZZLE_OP (411 , wxx ) SHADER_SWIZZLE_OP (4111, wxxx) SHADER_SWIZZLE_OP (4112, wxxy) |
|
|
1070 | SHADER_SWIZZLE_OP (4113, wxxz) SHADER_SWIZZLE_OP (4114, wxxw) SHADER_SWIZZLE_OP (412 , wxy ) SHADER_SWIZZLE_OP (4121, wxyx) |
|
|
1071 | SHADER_SWIZZLE_OP (4122, wxyy) SHADER_SWIZZLE_OP (4123, wxyz) SHADER_SWIZZLE_OP (4124, wxyw) SHADER_SWIZZLE_OP (413 , wxz ) |
|
|
1072 | SHADER_SWIZZLE_OP (4131, wxzx) SHADER_SWIZZLE_OP (4132, wxzy) SHADER_SWIZZLE_OP (4133, wxzz) SHADER_SWIZZLE_OP (4134, wxzw) |
|
|
1073 | SHADER_SWIZZLE_OP (414 , wxw ) SHADER_SWIZZLE_OP (4141, wxwx) SHADER_SWIZZLE_OP (4142, wxwy) SHADER_SWIZZLE_OP (4143, wxwz) |
|
|
1074 | SHADER_SWIZZLE_OP (4144, wxww) SHADER_SWIZZLE_OP (42 , wy ) SHADER_SWIZZLE_OP (421 , wyx ) SHADER_SWIZZLE_OP (4211, wyxx) |
|
|
1075 | SHADER_SWIZZLE_OP (4212, wyxy) SHADER_SWIZZLE_OP (4213, wyxz) SHADER_SWIZZLE_OP (4214, wyxw) SHADER_SWIZZLE_OP (422 , wyy ) |
|
|
1076 | SHADER_SWIZZLE_OP (4221, wyyx) SHADER_SWIZZLE_OP (4222, wyyy) SHADER_SWIZZLE_OP (4223, wyyz) SHADER_SWIZZLE_OP (4224, wyyw) |
|
|
1077 | SHADER_SWIZZLE_OP (423 , wyz ) SHADER_SWIZZLE_OP (4231, wyzx) SHADER_SWIZZLE_OP (4232, wyzy) SHADER_SWIZZLE_OP (4233, wyzz) |
|
|
1078 | SHADER_SWIZZLE_OP (4234, wyzw) SHADER_SWIZZLE_OP (424 , wyw ) SHADER_SWIZZLE_OP (4241, wywx) SHADER_SWIZZLE_OP (4242, wywy) |
|
|
1079 | SHADER_SWIZZLE_OP (4243, wywz) SHADER_SWIZZLE_OP (4244, wyww) SHADER_SWIZZLE_OP (43 , wz ) SHADER_SWIZZLE_OP (431 , wzx ) |
|
|
1080 | SHADER_SWIZZLE_OP (4311, wzxx) SHADER_SWIZZLE_OP (4312, wzxy) SHADER_SWIZZLE_OP (4313, wzxz) SHADER_SWIZZLE_OP (4314, wzxw) |
|
|
1081 | SHADER_SWIZZLE_OP (432 , wzy ) SHADER_SWIZZLE_OP (4321, wzyx) SHADER_SWIZZLE_OP (4322, wzyy) SHADER_SWIZZLE_OP (4323, wzyz) |
|
|
1082 | SHADER_SWIZZLE_OP (4324, wzyw) SHADER_SWIZZLE_OP (433 , wzz ) SHADER_SWIZZLE_OP (4331, wzzx) SHADER_SWIZZLE_OP (4332, wzzy) |
|
|
1083 | SHADER_SWIZZLE_OP (4333, wzzz) SHADER_SWIZZLE_OP (4334, wzzw) SHADER_SWIZZLE_OP (434 , wzw ) SHADER_SWIZZLE_OP (4341, wzwx) |
|
|
1084 | SHADER_SWIZZLE_OP (4342, wzwy) SHADER_SWIZZLE_OP (4343, wzwz) SHADER_SWIZZLE_OP (4344, wzww) SHADER_SWIZZLE_OP (44 , ww ) |
|
|
1085 | SHADER_SWIZZLE_OP (441 , wwx ) SHADER_SWIZZLE_OP (4411, wwxx) SHADER_SWIZZLE_OP (4412, wwxy) SHADER_SWIZZLE_OP (4413, wwxz) |
|
|
1086 | SHADER_SWIZZLE_OP (4414, wwxw) SHADER_SWIZZLE_OP (442 , wwy ) SHADER_SWIZZLE_OP (4421, wwyx) SHADER_SWIZZLE_OP (4422, wwyy) |
|
|
1087 | SHADER_SWIZZLE_OP (4423, wwyz) SHADER_SWIZZLE_OP (4424, wwyw) SHADER_SWIZZLE_OP (443 , wwz ) SHADER_SWIZZLE_OP (4431, wwzx) |
|
|
1088 | SHADER_SWIZZLE_OP (4432, wwzy) SHADER_SWIZZLE_OP (4433, wwzz) SHADER_SWIZZLE_OP (4434, wwzw) SHADER_SWIZZLE_OP (444 , www ) |
|
|
1089 | SHADER_SWIZZLE_OP (4441, wwwx) SHADER_SWIZZLE_OP (4442, wwwy) SHADER_SWIZZLE_OP (4443, wwwz) SHADER_SWIZZLE_OP (4444, wwww) |
|
|
1090 | |
|
|
1091 | # undef SHADER_SWIZZLE_OP |
|
|
1092 | |
|
|
1093 | # define SHADER_FUNC0_(name, glname) \ |
|
|
1094 | template<typename A> \ |
|
|
1095 | inline const sl_expr<sl_func0> \ |
|
|
1096 | name () \ |
|
|
1097 | { \ |
|
|
1098 | return sl_func0 (#glname " ("); \ |
|
|
1099 | } |
|
|
1100 | |
|
|
1101 | # define SHADER_FUNC0(name) SHADER_FUNC0_(name,name) |
|
|
1102 | |
|
|
1103 | # define SHADER_FUNC1_(name, glname) \ |
|
|
1104 | template<typename A> \ |
|
|
1105 | inline const sl_expr< sl_func1<typename sl_convert<A>::T> > \ |
|
|
1106 | name (const A &a) \ |
|
|
1107 | { \ |
|
|
1108 | return sl_func1<typename sl_convert<A>::T> (#glname " (", sl_convert<A>::convert (a));\ |
|
|
1109 | } |
|
|
1110 | |
|
|
1111 | # define SHADER_FUNC1(name) SHADER_FUNC1_(name,name) |
|
|
1112 | |
|
|
1113 | # define SHADER_FUNC2_(name, glname) \ |
|
|
1114 | template<typename A, typename B> \ |
|
|
1115 | inline const sl_expr< sl_func2<typename sl_convert<A>::T, typename sl_convert<B>::T> > \ |
|
|
1116 | name (const A &a, const B &b) \ |
|
|
1117 | { \ |
|
|
1118 | return sl_func2<typename sl_convert<A>::T, typename sl_convert<B>::T> (#glname " (", sl_convert<A>::convert (a), sl_convert<B>::convert (b));\ |
|
|
1119 | } |
|
|
1120 | |
|
|
1121 | # define SHADER_FUNC2(name) SHADER_FUNC2_(name,name) |
|
|
1122 | |
|
|
1123 | # define SHADER_FUNC3_(name, glname) \ |
|
|
1124 | template<typename A, typename B, typename C> \ |
|
|
1125 | inline const sl_expr< sl_func3<typename sl_convert<A>::T, typename sl_convert<B>::T, typename sl_convert<C>::T> > \ |
|
|
1126 | name (const A &a, const B &b, const C &c) \ |
|
|
1127 | { \ |
|
|
1128 | return sl_func3<typename sl_convert<A>::T, typename sl_convert<B>::T, typename sl_convert<C>::T> (#glname " (", sl_convert<A>::convert (a), sl_convert<B>::convert (b), sl_convert<C>::convert (c));\ |
|
|
1129 | } |
|
|
1130 | |
|
|
1131 | # define SHADER_FUNC3(name) SHADER_FUNC3_(name,name) |
|
|
1132 | |
|
|
1133 | # define SHADER_FUNC4_(name, glname) \ |
|
|
1134 | template<typename A, typename B, typename C, typename D> \ |
|
|
1135 | inline const sl_expr< sl_func4<typename sl_convert<A>::T, typename sl_convert<B>::T, typename sl_convert<C>::T, typename sl_convert<D>::T > > \ |
|
|
1136 | name (const A &a, const B &b, const C &c, const D &d) \ |
|
|
1137 | { \ |
|
|
1138 | return sl_func4<typename sl_convert<A>::T, typename sl_convert<B>::T, typename sl_convert<C>::T, typename sl_convert<D>::T> (#glname " (", sl_convert<A>::convert (a), sl_convert<B>::convert (b), sl_convert<C>::convert (c), sl_convert<D>::convert (d));\ |
|
|
1139 | } |
|
|
1140 | |
|
|
1141 | # define SHADER_FUNC4(name) SHADER_FUNC4_(name,name) |
|
|
1142 | |
|
|
1143 | SHADER_FUNC1 (abs) |
|
|
1144 | SHADER_FUNC1 (acos) |
|
|
1145 | SHADER_FUNC1 (all) |
|
|
1146 | SHADER_FUNC1 (any) |
|
|
1147 | SHADER_FUNC1 (asin) |
|
|
1148 | SHADER_FUNC1 (atan) |
|
|
1149 | SHADER_FUNC2 (atan) |
|
|
1150 | SHADER_FUNC1 (ceil) |
|
|
1151 | SHADER_FUNC3 (clamp) |
|
|
1152 | SHADER_FUNC1 (cos) |
|
|
1153 | SHADER_FUNC2 (cross) |
|
|
1154 | SHADER_FUNC1 (dFdx) |
|
|
1155 | SHADER_FUNC1 (dFdy) |
|
|
1156 | SHADER_FUNC1 (degrees) |
|
|
1157 | SHADER_FUNC2 (distance) |
|
|
1158 | SHADER_FUNC2 (dot) |
|
|
1159 | SHADER_FUNC2_(equal, equal) |
|
|
1160 | SHADER_FUNC1 (exp) |
|
|
1161 | SHADER_FUNC1 (exp2) |
|
|
1162 | SHADER_FUNC3 (faceforward) |
|
|
1163 | SHADER_FUNC1 (floor) |
|
|
1164 | SHADER_FUNC1 (fract) |
|
|
1165 | SHADER_FUNC0 (ftransform) |
|
|
1166 | SHADER_FUNC1 (fwidth) |
|
|
1167 | SHADER_FUNC2_(greater_than_equal, greaterThanEqual) |
|
|
1168 | SHADER_FUNC2_(greater_then, greaterThan) |
|
|
1169 | SHADER_FUNC1 (inversesqrt) |
|
|
1170 | SHADER_FUNC1 (length) |
|
|
1171 | SHADER_FUNC2_(less_than, lessThan) |
|
|
1172 | SHADER_FUNC2_(less_than_equal, lessThanEqual) |
|
|
1173 | SHADER_FUNC1 (log) |
|
|
1174 | SHADER_FUNC1 (log2) |
|
|
1175 | SHADER_FUNC2_(matrix_comp_mult, matrixCompMult) |
|
|
1176 | SHADER_FUNC2 (max) |
|
|
1177 | SHADER_FUNC2 (min) |
|
|
1178 | SHADER_FUNC3 (mix) |
|
|
1179 | SHADER_FUNC2 (mod) |
|
|
1180 | SHADER_FUNC1 (noise1) |
|
|
1181 | SHADER_FUNC1 (noise2) |
|
|
1182 | SHADER_FUNC1 (noise3) |
|
|
1183 | SHADER_FUNC1 (noise4) |
|
|
1184 | SHADER_FUNC1 (normalize) |
|
|
1185 | SHADER_FUNC1 (gl_not) // TODO |
|
|
1186 | SHADER_FUNC2_(notequal, notEqual) |
|
|
1187 | SHADER_FUNC2 (pow) |
|
|
1188 | SHADER_FUNC1 (radians) |
|
|
1189 | SHADER_FUNC2 (reflect) |
|
|
1190 | SHADER_FUNC3 (refract) |
|
|
1191 | SHADER_FUNC2_(shadow_1d, shadow1D) |
|
|
1192 | SHADER_FUNC3_(shadow_1d, shadow1D) |
|
|
1193 | SHADER_FUNC3_(shadow_1d_lod, shadow1DLod) |
|
|
1194 | SHADER_FUNC2_(shadow_1d_proj, shadow1DProj) |
|
|
1195 | SHADER_FUNC3_(shadow_1d_proj, shadow1DProj) |
|
|
1196 | SHADER_FUNC3_(shadow_1d_proj_lod, shadow1DProjLod) |
|
|
1197 | SHADER_FUNC2_(shadow_2d, shadow2D) |
|
|
1198 | SHADER_FUNC3_(shadow_2d, shadow2D) |
|
|
1199 | SHADER_FUNC3_(shadow_2d_lod, shadow2DLod) |
|
|
1200 | SHADER_FUNC2_(shadow_2d_proj, shadow2DProj) |
|
|
1201 | SHADER_FUNC3_(shadow_2d_proj, shadow2DProj) |
|
|
1202 | SHADER_FUNC3_(shadow_2d_proj_lod, shadow2DProjLod) |
|
|
1203 | SHADER_FUNC1 (sign) |
|
|
1204 | SHADER_FUNC1 (sin) |
|
|
1205 | SHADER_FUNC3 (smoothstep) |
|
|
1206 | SHADER_FUNC1 (sqrt) |
|
|
1207 | SHADER_FUNC2 (step) |
|
|
1208 | SHADER_FUNC1 (tan) |
|
|
1209 | SHADER_FUNC2_(texture_1d, texture1D) |
|
|
1210 | SHADER_FUNC3_(texture_1d, texture1D) |
|
|
1211 | SHADER_FUNC3_(texture_1d_lod, texture1DLod) |
|
|
1212 | SHADER_FUNC2_(texture_1d_proj, texture1DProj) |
|
|
1213 | SHADER_FUNC3_(texture_1d_proj, texture1DProj) |
|
|
1214 | SHADER_FUNC3_(texture_1d_proj_lod, texture1DProjLod) |
|
|
1215 | SHADER_FUNC2_(texture_2d, texture2D) |
|
|
1216 | SHADER_FUNC3_(texture_2d, texture2D) |
|
|
1217 | SHADER_FUNC3_(texture_2d_lod, texture2DLod) |
|
|
1218 | SHADER_FUNC2_(texture_2d_proj, texture2DProj) |
|
|
1219 | SHADER_FUNC3_(texture_2d_proj, texture2DProj) |
|
|
1220 | SHADER_FUNC3_(texture_2d_proj_lod, texture2DProjLod) |
|
|
1221 | SHADER_FUNC2_(texture_3d, texture3D) |
|
|
1222 | SHADER_FUNC3_(texture_3d, texture3D) |
|
|
1223 | SHADER_FUNC3_(texture_3d_lod, texture3DLod) |
|
|
1224 | SHADER_FUNC2_(texture_3d_proj, texture3DProj) |
|
|
1225 | SHADER_FUNC3_(texture_3d_proj, texture3DProj) |
|
|
1226 | SHADER_FUNC3_(texture_3d_proj_lod, texture3DProjLod) |
|
|
1227 | SHADER_FUNC2_(texture_cube, textureCube) |
|
|
1228 | SHADER_FUNC3_(texture_cube, textureCube) |
|
|
1229 | SHADER_FUNC3_(texture_cude_lod, textureCubeLod) |
|
|
1230 | SHADER_FUNC1 (vec2) SHADER_FUNC2 (vec2) |
|
|
1231 | SHADER_FUNC1 (vec3) SHADER_FUNC2 (vec3) SHADER_FUNC3 (vec3) |
|
|
1232 | SHADER_FUNC1 (vec4) SHADER_FUNC2 (vec4) SHADER_FUNC3 (vec4) SHADER_FUNC4 (vec4) |
|
|
1233 | SHADER_FUNC1 (mat2) SHADER_FUNC2 (mat2) |
|
|
1234 | SHADER_FUNC1 (mat3) SHADER_FUNC2 (mat3) SHADER_FUNC3 (mat3) |
|
|
1235 | SHADER_FUNC1 (mat4) SHADER_FUNC2 (mat4) SHADER_FUNC3 (mat4) SHADER_FUNC4 (mat4) |
|
|
1236 | |
|
|
1237 | # undef SHADER_FUNC0 |
|
|
1238 | # undef SHADER_FUNC0_ |
|
|
1239 | # undef SHADER_FUNC1 |
|
|
1240 | # undef SHADER_FUNC1_ |
|
|
1241 | # undef SHADER_FUNC2 |
|
|
1242 | # undef SHADER_FUNC2_ |
|
|
1243 | # undef SHADER_FUNC3 |
|
|
1244 | # undef SHADER_FUNC3_ |
|
|
1245 | # undef SHADER_FUNC4 |
|
|
1246 | # undef SHADER_FUNC5_ |
|
|
1247 | |
1270 | |
1248 | void debdebdebdebug ();//D |
1271 | void debdebdebdebug ();//D |
1249 | } |
1272 | } |
1250 | |
1273 | |
1251 | #endif |
1274 | #endif |