+/**
+Tests incoming fragment alpha values against a reference. If the test fails,
+the fragment is discarded.
+*/
+class AlphaTest: public Bindable<AlphaTest>
+{
+private:
+ Predicate pred;
+ float ref;
+
+public:
+ AlphaTest();
+ AlphaTest(Predicate, float);
+
+ void bind() const;
+
+ static void unbind();
+};
+
+
+/**
+Tests incoming fragment depth values against the depth buffer. If the test
+fails, the fragment is discarded.
+*/
+class DepthTest: public Bindable<DepthTest>