added RenderQueue

This commit is contained in:
cirdan
2008-01-17 16:42:24 +00:00
parent 8f17a3a819
commit 7a3d5f6eb5
17 changed files with 578 additions and 347 deletions

View File

@@ -2,7 +2,8 @@
#define BLUECORE_RENDERDEVICE_H
#include "RenderWindow.h"
#include "Camera.h"
#include "Material.h"
#include "Utilities/Buffer.h"
#include "Utilities/Referenced.h"
#include "Utilities/sigslot.h"
@@ -12,45 +13,42 @@ namespace BlueCore
class RenderDevice : public Referenced, public sigslot::has_slots<>
{
public:
private:
int _ViewportWidth, _ViewportHeight;
class RenderItem
{
void WindowResizeSlot(int width, int height);
void WindowCloseSlot();
public:
//virtual void render ( RenderPass pass ) = 0;
virtual ~RenderItem()
{};
};
private:
int _ViewportWidth, _ViewportHeight;
ref_ptr<RenderWindow> _RenderWindow;
ref_ptr<Camera> _Camera;
public:
void WindowResizeSlot(int width, int height);
void WindowCloseSlot();
RenderDevice(RenderWindow* renderWindow);
~RenderDevice();
ref_ptr<RenderWindow> _RenderWindow;
int getViewportWidth();
int getViewportHeight();
public:
void begin2D();
void end2D();
RenderDevice(RenderWindow* renderWindow);
~RenderDevice();
void clear();
void swap();
int getViewportWidth();
int getViewportHeight();
void setAmbientLight(float r, float g, float b);
void setMaterial(Material *);
void begin2D();
void end2D();
void setTexture(unsigned int unit, unsigned int texture);
void begin3D(Camera *);
void setTransformation (const Vector3&, const Quaternion&);
void setupProjectionMatrix();
void setupViewMatrix();
void clear();
sigslot::signal0<> DeviceShutdownSignal;
void setAmbientLight(float r, float g, float b);
void setTexture(unsigned int unit, unsigned int texture);
sigslot::signal0<> DeviceShutdownSignal;
//Buffer<ShadowFace> &_ShadowFaces;
//Buffer<ShadowFace> &_ShadowFaces;
};
} // namespaced BlueCore