15 struct matrix_buffer_type
22 struct camera_buffer_type
24 XMFLOAT3 camera_position;
28 struct sun_light_buffer_type
30 XMFLOAT4 diffuse_color;
31 XMFLOAT4 ambient_color;
32 XMFLOAT3 sun_direction;
36 struct sun_light_color_buffer_type
46 bool initialize(ID3D11Device*, HWND);
48 bool render(ID3D11DeviceContext*,
int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4, XMFLOAT4, XMFLOAT3,
float);
51 bool initialize_shader(ID3D11Device*, HWND, WCHAR*, WCHAR*);
52 void shutdown_shader();
53 void output_shader_error_message(ID3D10Blob*, HWND, WCHAR*);
55 bool set_shader_parameters(ID3D11DeviceContext*, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4, XMFLOAT4, XMFLOAT3,
float);
56 void render_shader(ID3D11DeviceContext*,
int);
59 ID3D11VertexShader* vertex_shader_;
60 ID3D11PixelShader* pixel_shader_;
61 ID3D11InputLayout* layout_;
62 ID3D11SamplerState* sample_state_;
63 ID3D11Buffer* matrix_buffer_;
64 ID3D11Buffer* camera_buffer_;
65 ID3D11Buffer* sunlight_buffer_;
66 ID3D11Buffer* sunlight_color_buffer_;
67 ID3D11Buffer* sunlight_position_buffer_;