class input_vertex_buffer : public buffer
{
public:
- input_vertex_buffer(device &d, unsigned int size, const VERTEX_TYPE* initial_data) : buffer(d,D3D10_BIND_VERTEX_BUFFER,size,initial_data){}
+ input_vertex_buffer(device &d, const VERTEX_TYPE* initial_data, unsigned int size) : buffer(d,D3D10_BIND_VERTEX_BUFFER,size,initial_data){}
};
///////////////////////////////////////////////////////////////////////////
UINT offset = 0;
m_dev.get_d3ddevice_ptr()->IASetVertexBuffers( 0, 1, (ID3D10Buffer *const *)&buffer_ptr, &stride, &offset );
}
+
+ void set_primitive_topology(::D3D10_PRIMITIVE_TOPOLOGY topology)
+ {
+ m_dev.get_d3ddevice_ptr()->IASetPrimitiveTopology(topology);
+ }
+
+ void draw(UINT vertex_count, UINT vertex_offset=0)
+ {
+ m_dev.get_d3ddevice_ptr()->Draw(vertex_count, vertex_offset);
+ }
+
+ void draw_primitive(::D3D10_PRIMITIVE_TOPOLOGY topology, UINT vertex_count, UINT vertex_offset=0)
+ {
+ set_primitive_topology(topology);
+ draw(vertex_count, vertex_offset);
+ }
};
+ typedef shader_device render_device, renderer;
///////////////////////////////////////////////////////////////////////////
}
D3DXVECTOR3( -0.5f, -0.5f, 0.5f ), D3DXVECTOR3( 1.0f, 1.0f, 1.0f )
};
- graphics::input_vertex_buffer<MyVertex> ivb(d, 1024, vtx);
- graphics::shader_device shader(d);
- shader.set_vertex_buffer(ivb);
+ graphics::input_vertex_buffer<MyVertex> ivb(d, vtx, sizeof(vtx));
+ graphics::render_device ren(d);
+ ren.set_vertex_buffer(ivb);
::roast::windows::peek_message_loop lp;
lp.start();