texture_stack.reserve(32);
}
-Renderer::~Renderer()
-{
-}
-
void Renderer::begin()
{
if(current_state)
state_stack.push_back(State());
current_state = &state_stack.back();
+
+ RendererBackend::begin();
+
add_shader_data(standard_shdata);
}
if(!current_state || state_stack.size()>1)
throw invalid_operation("Renderer::end");
+ RendererBackend::end();
+
current_state = 0;
state_stack.clear();
texture_stack.clear();
shdata_stack.clear();
-
- commands.use_pipeline(0);
}
void Renderer::push_state()
changed |= MATRIX;
}
-void Renderer::transform(const Matrix &matrix)
-{
- get_state().model_matrix *= matrix;
- changed |= MATRIX;
-}
-
void Renderer::set_framebuffer(const Framebuffer *f)
{
get_state().framebuffer = f;