class Lighting;
class Program;
class Renderable;
+class Sampler;
class Texture;
class Texturing;
class VertexSetup;
const Camera *camera;
Matrix modelview_matrix;
const Texture *texture;
+ const Sampler *sampler;
const Texturing *texturing;
unsigned lowest_effect_texunit;
const Material *material;
Matrix clipping_matrix;
const Program *shprog;
unsigned shdata_count;
- const Mesh *mesh;
const VertexSetup *vertex_setup;
const WindingTest *winding_test;
bool reverse_winding;
std::set<const Renderable *> excluded;
public:
- Renderer(const Camera *);
+ Renderer();
+ DEPRECATED Renderer(const Camera *);
+private:
+ void init();
+public:
~Renderer();
- /** Resets all internal state and restarts rendering. There must be no
- unpopped state in the stack. It is permissible to call begin() multiple
- times without an intervening end().
-
- Deprecated; use end() and set_camera() instead.*/
- void begin(const Camera *);
-
/** Sets the camera to render from. The modelview matrix is reset to the
camera's view matrix. */
void set_camera(const Camera &);
/** Returns the current modelview matrix. */
const Matrix &get_matrix() const { return state->modelview_matrix; }
- void set_texture(const Texture *);
+ void set_texture(const Texture *, const Sampler * = 0);
void set_texturing(const Texturing *);
unsigned allocate_effect_texunit();
void set_material(const Material *);
void flush_shader_data();
- void set_mesh(const Mesh *);
void set_vertex_setup(const VertexSetup *);
void set_winding_test(const WindingTest *);
void set_reverse_winding(bool);