+public:
+ class Pass
+ {
+ private:
+ Tag tag;
+ const Lighting *lighting;
+ const DepthTest *depth_test;
+ const Blend *blend;
+
+ public:
+ Pass(const Tag &);
+
+ const Tag &get_tag() const { return tag; }
+
+ void set_lighting(const Lighting *);
+ void set_depth_test(const DepthTest *);
+ void set_blend(const Blend *);
+ const Lighting *get_lighting() const { return lighting; }
+ const DepthTest *get_depth_test() const { return depth_test; }
+ const Blend *get_blend() const { return blend; }
+ };
+