ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libgender/shader.h
(Generate patch)

Comparing libgender/shader.h (file contents):
Revision 1.8 by root, Sun Oct 24 00:56:04 2004 UTC vs.
Revision 1.9 by root, Sun Oct 24 01:36:00 2004 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines