void Render(ref_ptr<dp::GraphicsContext> context, ref_ptr<dp::GpuProgram> program, dp::RenderState const & state, ref_ptr<TParamsSetter> paramsSetter, TParams const & params) { Bind(context, program); ApplyState(context, program, state); paramsSetter->Apply(context, program, params); DrawPrimitives(context); Unbind(program); };