#include "texturing.h"
#include "texunit.h"
#include "vertexarray.h"
+#include "vertexsetup.h"
#include "windingtest.h"
using namespace std;
state->mesh = m;
}
+void Renderer::set_vertex_setup(const VertexSetup *vs)
+{
+ state->vertex_setup = vs;
+}
+
void Renderer::set_winding_test(const WindingTest *w)
{
state->winding_test = w;
Lighting::unbind();
Clipping::unbind();
Program::unbind();
+ VertexSetup::unbind();
Buffer::unbind_from(ELEMENT_ARRAY_BUFFER);
WindingTest::unbind();
state->mesh->bind();
}
else
+ {
Mesh::unbind();
+ if(state->vertex_setup)
+ state->vertex_setup->bind();
+ else
+ VertexSetup::unbind();
+ }
+
if(state->winding_test)
{
if(state->reverse_winding)
shprog(0),
shdata_count(0),
mesh(0),
+ vertex_setup(0),
winding_test(0),
reverse_winding(false)
{ }
class Renderable;
class Texture;
class Texturing;
+class VertexSetup;
class WindingTest;
/**
const Program *shprog;
unsigned shdata_count;
const Mesh *mesh;
+ const VertexSetup *vertex_setup;
const WindingTest *winding_test;
bool reverse_winding;
void add_shader_data(const ProgramData &data);
void set_mesh(const Mesh *);
+ void set_vertex_setup(const VertexSetup *);
void set_winding_test(const WindingTest *);
void set_reverse_winding(bool);