Minor - Start Shadow Map - V10.5.0
This commit is contained in:
@@ -43,6 +43,8 @@
|
||||
#include <DirectXMath.h>
|
||||
#include <mutex>
|
||||
|
||||
#include "shadow_map.h"
|
||||
|
||||
|
||||
/////////////
|
||||
// GLOBALS //
|
||||
@@ -185,8 +187,17 @@ private:
|
||||
bool render_scene_to_texture(float);
|
||||
bool render_refraction_to_texture();
|
||||
bool render_reflection_to_texture();
|
||||
bool render_pass(const std::vector<std::reference_wrapper<std::vector<object*>>>& RenderQueues, XMFLOAT4* diffuse, XMFLOAT4* position, XMFLOAT4* ambient, XMMATRIX view, XMMATRIX projection);
|
||||
|
||||
bool render_pass(
|
||||
const std::vector<std::reference_wrapper<std::vector<object*>>>& RenderQueues,
|
||||
XMFLOAT4* diffuse,
|
||||
XMFLOAT4* position,
|
||||
XMFLOAT4* ambient,
|
||||
XMMATRIX view,
|
||||
XMMATRIX projection
|
||||
);
|
||||
bool create_shadow_map(
|
||||
const std::vector<std::reference_wrapper<std::vector<object*>>>& RenderQueues
|
||||
);
|
||||
void update_skybox_position();
|
||||
|
||||
public :
|
||||
@@ -320,6 +331,18 @@ private :
|
||||
// ------------------------------------------------- //
|
||||
|
||||
input inputs_;
|
||||
|
||||
// ------------------------------------------------- //
|
||||
// -------------------- Shadows -------------------- //
|
||||
// ------------------------------------------------- //
|
||||
|
||||
shadow_map* shadow_map_;
|
||||
camera_class* light_camera_;
|
||||
XMFLOAT4 light_position_buffer_;
|
||||
XMFLOAT3 light_rotation_buffer_;
|
||||
XMMATRIX light_view_matrix_;
|
||||
XMMATRIX light_projection_matrix_;
|
||||
ID3D11ShaderResourceView* shadow_srv_;
|
||||
};
|
||||
|
||||
#endif
|
33
enginecustom/src/inc/system/shadow_map.h
Normal file
33
enginecustom/src/inc/system/shadow_map.h
Normal file
@@ -0,0 +1,33 @@
|
||||
#pragma once
|
||||
#include <d3d11.h>
|
||||
|
||||
class shadow_map
|
||||
{
|
||||
public:
|
||||
|
||||
shadow_map();
|
||||
shadow_map(const shadow_map&) = delete;
|
||||
shadow_map& operator=(const shadow_map&) = delete;
|
||||
~shadow_map();
|
||||
|
||||
bool initialize(
|
||||
ID3D11Device* device,
|
||||
int shadow_map_width,
|
||||
int shadow_map_height
|
||||
);
|
||||
|
||||
void set_render_target(ID3D11DeviceContext* context);
|
||||
void clear_render_target(ID3D11DeviceContext* context, float depth);
|
||||
|
||||
ID3D11ShaderResourceView* get_shader_resource_view() const;
|
||||
|
||||
void shutdown();
|
||||
|
||||
private:
|
||||
ID3D11Texture2D* depth_texture_;
|
||||
ID3D11DepthStencilView* depth_stencil_view_;
|
||||
ID3D11ShaderResourceView* shader_resource_view_;
|
||||
D3D11_VIEWPORT viewport_;
|
||||
|
||||
|
||||
};
|
Reference in New Issue
Block a user