22 struct matrix_buffer_type
29 struct light_buffer_type
31 XMFLOAT4 ambient_color;
32 XMFLOAT4 diffuse_color;
33 XMFLOAT4 light_position;
34 XMFLOAT3 light_direction;
38 struct clip_plane_buffer_type
48 bool initialize(ID3D11Device*, HWND);
50 bool render(ID3D11DeviceContext*,
int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*,
51 XMFLOAT3, XMFLOAT4[], XMFLOAT4[], XMFLOAT4[], XMFLOAT4);
54 bool initialize_shader(ID3D11Device*, HWND, WCHAR*, WCHAR*);
55 void shutdown_shader();
56 void output_shader_error_message(ID3D10Blob*, HWND, WCHAR*);
58 bool set_shader_parameters(ID3D11DeviceContext*, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*,
59 XMFLOAT3, XMFLOAT4[], XMFLOAT4[], XMFLOAT4[], XMFLOAT4);
60 void render_shader(ID3D11DeviceContext*,
int);
63 ID3D11VertexShader* vertex_shader_;
64 ID3D11PixelShader* pixel_shader_;
65 ID3D11InputLayout* layout_;
66 ID3D11SamplerState* sample_state_;
67 ID3D11Buffer* matrix_buffer_;
68 ID3D11Buffer* light_buffer_;
69 ID3D11Buffer* clip_plane_buffer_;