class Buffer;
class Camera;
union ClearValue;
-class Clipping;
class Material;
class Mesh;
class Lighting;
~Push() { renderer.pop_state(); }
};
- class Exclude
- {
- private:
- Renderer &renderer;
- const Renderable &renderable;
-
- public:
- Exclude(Renderer &r, const Renderable &e): renderer(r), renderable(e) { renderer.exclude(renderable); }
- ~Exclude() { renderer.include(renderable); }
- };
-
private:
struct BoundTexture
{
const Rect *viewport = 0;
const Rect *scissor = 0;
unsigned texture_count = 0;
- const Clipping *clipping = 0;
const Program *shprog = 0;
unsigned shdata_count = 0;
const VertexSetup *vertex_setup = 0;
SHADER_DATA = 16
};
- unsigned char changed;
+ unsigned char changed = 0;
std::vector<State> state_stack;
State *state;
std::vector<BoundTexture> texture_stack;
ProgramData standard_shdata;
std::vector<BoundProgramData> shdata_stack;
- std::set<const Renderable *> excluded;
PipelineState pipeline_state;
Commands commands;
DEPRECATED void set_material(const Material *);
DEPRECATED void set_lighting(const Lighting *);
- void set_clipping(const Clipping *);
/** Sets the shader program to use. An initial set of data can be set as
well, with the same semantics as add_shader_data. */
further rendering. */
void end();
- void exclude(const Renderable &);
- void include(const Renderable &);
-
void clear(const ClearValue *);
- void render(const Renderable &, Tag = Tag());
void draw(const Batch &);
void draw_instanced(const Batch &, unsigned);