… | |
… | |
824 | |
824 | |
825 | SHADER_BINOP (+, plus); |
825 | SHADER_BINOP (+, plus); |
826 | SHADER_BINOP (-, minus); |
826 | SHADER_BINOP (-, minus); |
827 | SHADER_BINOP (*, mul); |
827 | SHADER_BINOP (*, mul); |
828 | SHADER_BINOP (/, div); |
828 | SHADER_BINOP (/, div); |
|
|
829 | SHADER_BINOP (%, div); |
829 | |
830 | |
830 | # undef SHADER_BINOP |
831 | # undef SHADER_BINOP |
831 | |
832 | |
832 | void swizzle_mask (sl_string<7> &s, int mask); |
833 | void swizzle_mask (sl_string<7> &s, int mask); |
833 | |
834 | |
… | |
… | |
944 | SHADER_SWIZZLE_OP (4432, wwzy) SHADER_SWIZZLE_OP (4433, wwzz) SHADER_SWIZZLE_OP (4434, wwzw) SHADER_SWIZZLE_OP (444 , www ) |
945 | SHADER_SWIZZLE_OP (4432, wwzy) SHADER_SWIZZLE_OP (4433, wwzz) SHADER_SWIZZLE_OP (4434, wwzw) SHADER_SWIZZLE_OP (444 , www ) |
945 | SHADER_SWIZZLE_OP (4441, wwwx) SHADER_SWIZZLE_OP (4442, wwwy) SHADER_SWIZZLE_OP (4443, wwwz) SHADER_SWIZZLE_OP (4444, wwww) |
946 | SHADER_SWIZZLE_OP (4441, wwwx) SHADER_SWIZZLE_OP (4442, wwwy) SHADER_SWIZZLE_OP (4443, wwwz) SHADER_SWIZZLE_OP (4444, wwww) |
946 | |
947 | |
947 | # undef SHADER_SWIZZLE_OP |
948 | # undef SHADER_SWIZZLE_OP |
948 | |
949 | |
|
|
950 | # define SHADER_FUNC0_(name, glname) \ |
|
|
951 | template<typename A> \ |
|
|
952 | inline const sl_expr<sl_func0> \ |
|
|
953 | name () \ |
|
|
954 | { \ |
|
|
955 | return sl_func0 (#glname " ("); \ |
|
|
956 | } |
|
|
957 | |
|
|
958 | # define SHADER_FUNC0(name) SHADER_FUNC0_(name,name) |
|
|
959 | |
|
|
960 | # define SHADER_FUNC1_(name, glname) \ |
|
|
961 | template<typename A> \ |
|
|
962 | inline const sl_expr< sl_func1<typename sl_convert<A>::T> > \ |
|
|
963 | name (const A &a) \ |
|
|
964 | { \ |
|
|
965 | return sl_func1<typename sl_convert<A>::T> (#glname " (", sl_convert<A>::convert (a));\ |
|
|
966 | } |
|
|
967 | |
|
|
968 | # define SHADER_FUNC1(name) SHADER_FUNC1_(name,name) |
|
|
969 | |
|
|
970 | # define SHADER_FUNC2_(name, glname) \ |
|
|
971 | template<typename A, typename B> \ |
|
|
972 | inline const sl_expr< sl_func2<typename sl_convert<A>::T, typename sl_convert<B>::T> > \ |
|
|
973 | name (const A &a, const B &b) \ |
|
|
974 | { \ |
|
|
975 | return sl_func2<typename sl_convert<A>::T, typename sl_convert<B>::T> (#glname " (", sl_convert<A>::convert (a), sl_convert<B>::convert (b));\ |
|
|
976 | } |
|
|
977 | |
|
|
978 | # define SHADER_FUNC2(name) SHADER_FUNC2_(name,name) |
|
|
979 | |
|
|
980 | # define SHADER_FUNC3_(name, glname) \ |
|
|
981 | template<typename A, typename B, typename C> \ |
|
|
982 | inline const sl_expr< sl_func3<typename sl_convert<A>::T, typename sl_convert<B>::T, typename sl_convert<C>::T> > \ |
|
|
983 | name (const A &a, const B &b, const C &c) \ |
|
|
984 | { \ |
|
|
985 | 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));\ |
|
|
986 | } |
|
|
987 | |
|
|
988 | # define SHADER_FUNC3(name) SHADER_FUNC3_(name,name) |
|
|
989 | |
|
|
990 | # define SHADER_FUNC4_(name, glname) \ |
|
|
991 | template<typename A, typename B, typename C, typename D> \ |
|
|
992 | 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 > > \ |
|
|
993 | name (const A &a, const B &b, const C &c, const D &d) \ |
|
|
994 | { \ |
|
|
995 | 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));\ |
|
|
996 | } |
|
|
997 | |
|
|
998 | # define SHADER_FUNC4(name) SHADER_FUNC4_(name,name) |
|
|
999 | |
|
|
1000 | SHADER_FUNC1 (abs) |
|
|
1001 | SHADER_FUNC1 (acos) |
|
|
1002 | SHADER_FUNC1 (all) |
|
|
1003 | SHADER_FUNC1 (any) |
|
|
1004 | SHADER_FUNC1 (asin) |
|
|
1005 | SHADER_FUNC1 (atan) |
|
|
1006 | SHADER_FUNC2 (atan) |
|
|
1007 | SHADER_FUNC1 (ceil) |
|
|
1008 | SHADER_FUNC3 (clamp) |
|
|
1009 | SHADER_FUNC1 (cos) |
|
|
1010 | SHADER_FUNC2 (cross) |
|
|
1011 | SHADER_FUNC1 (dFdx) |
|
|
1012 | SHADER_FUNC1 (dFdy) |
|
|
1013 | SHADER_FUNC1 (degrees) |
|
|
1014 | SHADER_FUNC2 (distance) |
|
|
1015 | SHADER_FUNC2 (dot) |
|
|
1016 | SHADER_FUNC2_(equal, equal) |
|
|
1017 | SHADER_FUNC1 (exp) |
|
|
1018 | SHADER_FUNC1 (exp2) |
|
|
1019 | SHADER_FUNC3 (faceforward) |
|
|
1020 | SHADER_FUNC1 (floor) |
|
|
1021 | SHADER_FUNC1 (fract) |
|
|
1022 | SHADER_FUNC0 (ftransform) |
|
|
1023 | SHADER_FUNC1 (fwidth) |
|
|
1024 | SHADER_FUNC2_(greater_than_equal, greaterThanEqual) |
|
|
1025 | SHADER_FUNC2_(greater_then, greaterThan) |
|
|
1026 | SHADER_FUNC1 (inversesqrt) |
|
|
1027 | SHADER_FUNC1 (length) |
|
|
1028 | SHADER_FUNC2_(less_than, lessThan) |
|
|
1029 | SHADER_FUNC2_(less_than_equal, lessThanEqual) |
|
|
1030 | SHADER_FUNC1 (log) |
|
|
1031 | SHADER_FUNC1 (log2) |
|
|
1032 | SHADER_FUNC2_(matrix_comp_mult, matrixCompMult) |
|
|
1033 | SHADER_FUNC2 (max) |
|
|
1034 | SHADER_FUNC2 (min) |
|
|
1035 | SHADER_FUNC3 (mix) |
|
|
1036 | SHADER_FUNC2 (mod) |
|
|
1037 | SHADER_FUNC1 (noise1) |
|
|
1038 | SHADER_FUNC1 (noise2) |
|
|
1039 | SHADER_FUNC1 (noise3) |
|
|
1040 | SHADER_FUNC1 (noise4) |
|
|
1041 | SHADER_FUNC1 (normalize) |
|
|
1042 | SHADER_FUNC1 (gl_not) // TODO |
|
|
1043 | SHADER_FUNC2_(notequal, notEqual) |
|
|
1044 | SHADER_FUNC2 (pow) |
|
|
1045 | SHADER_FUNC1 (radians) |
|
|
1046 | SHADER_FUNC2 (reflect) |
|
|
1047 | SHADER_FUNC3 (refract) |
|
|
1048 | SHADER_FUNC2_(shadow_1d, shadow1D) |
|
|
1049 | SHADER_FUNC3_(shadow_1d, shadow1D) |
|
|
1050 | SHADER_FUNC3_(shadow_1d_lod, shadow1DLod) |
|
|
1051 | SHADER_FUNC2_(shadow_1d_proj, shadow1DProj) |
|
|
1052 | SHADER_FUNC3_(shadow_1d_proj, shadow1DProj) |
|
|
1053 | SHADER_FUNC3_(shadow_1d_proj_lod, shadow1DProjLod) |
|
|
1054 | SHADER_FUNC2_(shadow_2d, shadow2D) |
|
|
1055 | SHADER_FUNC3_(shadow_2d, shadow2D) |
|
|
1056 | SHADER_FUNC3_(shadow_2d_lod, shadow2DLod) |
|
|
1057 | SHADER_FUNC2_(shadow_2d_proj, shadow2DProj) |
|
|
1058 | SHADER_FUNC3_(shadow_2d_proj, shadow2DProj) |
|
|
1059 | SHADER_FUNC3_(shadow_2d_proj_lod, shadow2DProjLod) |
|
|
1060 | SHADER_FUNC1 (sign) |
|
|
1061 | SHADER_FUNC1 (sin) |
|
|
1062 | SHADER_FUNC3 (smoothstep) |
|
|
1063 | SHADER_FUNC1 (sqrt) |
|
|
1064 | SHADER_FUNC2 (step) |
|
|
1065 | SHADER_FUNC1 (tan) |
|
|
1066 | SHADER_FUNC2_(texture_1d, texture1D) |
|
|
1067 | SHADER_FUNC3_(texture_1d, texture1D) |
|
|
1068 | SHADER_FUNC3_(texture_1d_lod, texture1DLod) |
|
|
1069 | SHADER_FUNC2_(texture_1d_proj, texture1DProj) |
|
|
1070 | SHADER_FUNC3_(texture_1d_proj, texture1DProj) |
|
|
1071 | SHADER_FUNC3_(texture_1d_proj_lod, texture1DProjLod) |
|
|
1072 | SHADER_FUNC2_(texture_2d, texture2D) |
|
|
1073 | SHADER_FUNC3_(texture_2d, texture2D) |
|
|
1074 | SHADER_FUNC3_(texture_2d_lod, texture2DLod) |
|
|
1075 | SHADER_FUNC2_(texture_2d_proj, texture2DProj) |
|
|
1076 | SHADER_FUNC3_(texture_2d_proj, texture2DProj) |
|
|
1077 | SHADER_FUNC3_(texture_2d_proj_lod, texture2DProjLod) |
|
|
1078 | SHADER_FUNC2_(texture_3d, texture3D) |
|
|
1079 | SHADER_FUNC3_(texture_3d, texture3D) |
|
|
1080 | SHADER_FUNC3_(texture_3d_lod, texture3DLod) |
|
|
1081 | SHADER_FUNC2_(texture_3d_proj, texture3DProj) |
|
|
1082 | SHADER_FUNC3_(texture_3d_proj, texture3DProj) |
|
|
1083 | SHADER_FUNC3_(texture_3d_proj_lod, texture3DProjLod) |
|
|
1084 | SHADER_FUNC2_(texture_cube, textureCube) |
|
|
1085 | SHADER_FUNC3_(texture_cube, textureCube) |
|
|
1086 | SHADER_FUNC3_(texture_cude_lod, textureCubeLod) |
|
|
1087 | SHADER_FUNC1 (vec2) SHADER_FUNC2 (vec2) |
|
|
1088 | SHADER_FUNC1 (vec3) SHADER_FUNC2 (vec3) SHADER_FUNC3 (vec3) |
|
|
1089 | SHADER_FUNC1 (vec4) SHADER_FUNC2 (vec4) SHADER_FUNC3 (vec4) SHADER_FUNC4 (vec4) |
|
|
1090 | SHADER_FUNC1 (mat2) SHADER_FUNC2 (mat2) |
|
|
1091 | SHADER_FUNC1 (mat3) SHADER_FUNC2 (mat3) SHADER_FUNC3 (mat3) |
|
|
1092 | SHADER_FUNC1 (mat4) SHADER_FUNC2 (mat4) SHADER_FUNC3 (mat4) SHADER_FUNC4 (mat4) |
|
|
1093 | |
|
|
1094 | # undef SHADER_FUNC0 |
|
|
1095 | # undef SHADER_FUNC0_ |
|
|
1096 | # undef SHADER_FUNC1 |
|
|
1097 | # undef SHADER_FUNC1_ |
|
|
1098 | # undef SHADER_FUNC2 |
|
|
1099 | # undef SHADER_FUNC2_ |
|
|
1100 | # undef SHADER_FUNC3 |
|
|
1101 | # undef SHADER_FUNC3_ |
|
|
1102 | # undef SHADER_FUNC4 |
|
|
1103 | # undef SHADER_FUNC5_ |
|
|
1104 | |
949 | void debdebdebdebug ();//D |
1105 | void debdebdebdebug ();//D |
950 | } |
1106 | } |
951 | |
1107 | |
952 | #endif |
1108 | #endif |
953 | |
1109 | |