30 struct matrix_buffer_type
37 struct camera_buffer_type
39 XMFLOAT3 cameraPosition;
43 struct light_buffer_type
45 XMFLOAT4 ambientColor;
46 XMFLOAT4 diffuseColor;
47 XMFLOAT3 lightDirection;
50 XMFLOAT4 specularColor;
53 struct light_color_buffer_type
55 XMFLOAT4 diffuseColor[num_lights];
58 struct light_position_buffer_type
60 XMFLOAT4 lightPosition[num_lights];
68 bool initialize(ID3D11Device*, HWND);
70 bool render(ID3D11DeviceContext*,
int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4[], XMFLOAT4[], XMFLOAT4[]);
73 bool initialize_shader(ID3D11Device*, HWND, WCHAR*, WCHAR*);
74 void shutdown_shader();
75 void output_shader_error_message(ID3D10Blob*, HWND, WCHAR*);
77 bool set_shader_parameters(ID3D11DeviceContext*, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4[], XMFLOAT4[], XMFLOAT4[]);
78 void render_shader(ID3D11DeviceContext*,
int);
81 ID3D11VertexShader* vertex_shader_;
82 ID3D11PixelShader* pixel_shader_;
83 ID3D11InputLayout* layout_;
84 ID3D11SamplerState* sample_state_;
85 ID3D11Buffer* matrix_buffer_;
86 ID3D11Buffer* camera_buffer_;
87 ID3D11Buffer* light_buffer_;
88 ID3D11Buffer* light_color_buffer_;
89 ID3D11Buffer* light_position_buffer_;