Shadows - need to fix frame buffers
This commit is contained in:
@@ -17,6 +17,7 @@ private:
|
||||
uint32_t m_mip_levels;
|
||||
uint32_t m_min_filter;
|
||||
uint32_t m_mag_filter;
|
||||
uint32_t m_levels;
|
||||
void *m_data;
|
||||
HydraID *m_texture_id;
|
||||
|
||||
@@ -29,6 +30,7 @@ public:
|
||||
m_internal_format,
|
||||
m_min_filter,
|
||||
m_mag_filter,
|
||||
m_levels,
|
||||
m_format,
|
||||
m_data_type,
|
||||
m_mip_levels,
|
||||
@@ -43,6 +45,7 @@ public:
|
||||
uint32_t format,
|
||||
uint32_t min_filter,
|
||||
uint32_t mag_filter,
|
||||
uint32_t levels,
|
||||
uint32_t data_type,
|
||||
uint32_t mip_levels,
|
||||
void *data,
|
||||
@@ -59,6 +62,7 @@ public:
|
||||
m_texture_id = texture_id;
|
||||
m_min_filter = min_filter;
|
||||
m_mag_filter = mag_filter;
|
||||
m_levels = levels;
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
#ifndef HYDRACREATEUNBOUNDTEXTURETASK
|
||||
#define HYDRACREATEUNBOUNDTEXTURETASK
|
||||
|
||||
#include "../HydraTask.h"
|
||||
#include "../../engine/HydraEngine.h"
|
||||
#include "../../buffer/HydraTextureBufferManager.h"
|
||||
|
||||
class HydraCreateUnBoundTextureTask : public HydraTask
|
||||
{
|
||||
private:
|
||||
std::string m_texture_name;
|
||||
uint32_t m_width;
|
||||
uint32_t m_height;
|
||||
uint32_t m_internal_format;
|
||||
uint32_t m_format;
|
||||
uint32_t m_data_type;
|
||||
uint32_t m_mip_levels;
|
||||
uint32_t m_min_filter;
|
||||
uint32_t m_mag_filter;
|
||||
uint32_t m_levels;
|
||||
void *m_data;
|
||||
HydraID *m_texture_id;
|
||||
|
||||
protected:
|
||||
public:
|
||||
virtual void Process() override
|
||||
{
|
||||
*m_texture_id = GetEngine()->TextureBufferManager()->CreateTexture(m_texture_name,
|
||||
m_width, m_height,
|
||||
m_internal_format,
|
||||
m_min_filter,
|
||||
m_mag_filter,
|
||||
m_levels,
|
||||
m_format,
|
||||
m_data_type,
|
||||
m_mip_levels,
|
||||
m_data);
|
||||
|
||||
}
|
||||
void Initialise(std::string texture_name,
|
||||
uint32_t width,
|
||||
uint32_t height,
|
||||
uint32_t internal_format,
|
||||
uint32_t format,
|
||||
uint32_t min_filter,
|
||||
uint32_t mag_filter,
|
||||
uint32_t levels,
|
||||
uint32_t data_type,
|
||||
uint32_t mip_levels,
|
||||
void *data,
|
||||
HydraID *texture_id)
|
||||
{
|
||||
m_texture_name = texture_name;
|
||||
m_width = width;
|
||||
m_height = height;
|
||||
m_internal_format = internal_format;
|
||||
m_format = format;
|
||||
m_data_type = data_type;
|
||||
m_mip_levels = mip_levels;
|
||||
m_data = data;
|
||||
m_texture_id = texture_id;
|
||||
m_min_filter = min_filter;
|
||||
m_mag_filter = mag_filter;
|
||||
m_levels = levels;
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
#endif /* HYDRACREATEUNBOUNDTEXTURETASK */
|
||||
@@ -15,8 +15,8 @@ class HydraUpdatePartialGPUBufferTask : public HydraTask
|
||||
protected:
|
||||
public:
|
||||
virtual void Process() override
|
||||
{
|
||||
GetEngine()->BufferManager()->UpdateWholeBuffer(m_buffer_id, m_data);
|
||||
{
|
||||
GetEngine()->BufferManager()->UpdatePartialBuffer(m_buffer_id, m_start, m_size, m_data);
|
||||
}
|
||||
void Intialise(HydraID buffer_id, uint32_t start, uint32_t size, void* data)
|
||||
{
|
||||
@@ -25,7 +25,6 @@ class HydraUpdatePartialGPUBufferTask : public HydraTask
|
||||
m_start = start;
|
||||
m_size = size;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif /* HYDRAUPDATEPARTIALGPUBUFFERTASK */
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
#ifndef HYDRABEGINRENDERTASK
|
||||
#define HYDRABEGINRENDERTASK
|
||||
#include "../HydraTask.h"
|
||||
#include "../../engine/HydraEngine.h"
|
||||
#include "../../renderer/HydraRenderer.h"
|
||||
|
||||
class HydraBeginRenderTask : public HydraTask
|
||||
{
|
||||
private:
|
||||
protected:
|
||||
public:
|
||||
virtual void Process() override
|
||||
{
|
||||
GetEngine()->Renderer()->BeginFrame();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
#endif /* HYDRABEGINRENDERTASK */
|
||||
@@ -0,0 +1,18 @@
|
||||
#ifndef HYDRAENDRENDERTASK
|
||||
#define HYDRAENDRENDERTASK
|
||||
|
||||
#include "../HydraTask.h"
|
||||
#include "../../engine/HydraEngine.h"
|
||||
#include "../../renderer/HydraRenderer.h"
|
||||
|
||||
class HydraEndRenderTask : public HydraTask
|
||||
{
|
||||
private:
|
||||
protected:
|
||||
public:
|
||||
virtual void Process() override
|
||||
{
|
||||
GetEngine()->Renderer()->EndFrame();
|
||||
}
|
||||
};
|
||||
#endif /* HYDRAENDRENDERTASK */
|
||||
Reference in New Issue
Block a user