Klasa zawiera wskaźniki na bufory stałych zawierające podstawowe zestawy elementów przekazywanych do shaderów. Są to miedzy innymi macierze transformacji.
More...
|
void | init_buffers (unsigned int size_per_frame, unsigned int size_per_mesh) |
| Tworzy bufory stałych dla shadera. More...
|
|
void | init_depth_states () |
|
void | release_DirectX () override |
| Zwalania obiekty DirectXa. Funkcja wywołuje tę samą funkcję z obiektu potomnego, żeby zwolnić wszystkie obiekty, które istnieją. More...
|
|
void | set_swapchain_desc (const DXGI_SWAP_CHAIN_DESC &swap_chain_desc) |
| Funkcja ustawia deskryptor dla obiektów Device, DeviceContext i SwapChain DirectXa. More...
|
|
void | set_viewport_desc (const D3D11_VIEWPORT &view_port_desc) |
| Funkcja ustawia deskryptor dla Viewportu. Nie jest on ustawiany jako aktywny w DirectX, trzeba wywołać funkcję init_viewport. More...
|
|
void | set_feature_levels (D3D_FEATURE_LEVEL *feature_levels, unsigned int elements) |
| ustawia podaną w parametrze tablicę z levelami. Tablica nie powinna zostać usunięta, ponieważ nie jest kopiowana. More...
|
|
void | set_window_resolution (unsigned int window_width, unsigned int window_height) |
|
void | set_depth_stencil_format (DXGI_FORMAT depth_stencil_format) |
|
void | set_vertex_layout (DX11_DEFAULT_VERTEX_LAYOUT layout) |
| Ustawia jeden z domyślnych deskryptorów layoutów zdefiniowanych w klasie. Funkcja nie ustawia żadnego layoutu w directX. More...
|
|
void | set_vertex_layout (D3D11_INPUT_ELEMENT_DESC *layout, unsigned int array_size) |
| Ustawia podany deskryptor layoutu. Funkcja nie ustawia żadnego layoutu w directX. More...
|
|
void | set_sampler_desc (D3D11_SAMPLER_DESC sampler_desc) |
|
void | set_rasterizer_desc (const D3D11_RASTERIZER_DESC &rasterizer_desc) |
| Ustawia podany w parametrze deskrytptor rasteryzatora. More...
|
|
ID3D11VertexShader * | load_vertex_shader (const std::wstring &file_name, const std::string &shader_name, const char *shader_model) |
| Tworzy obiekt VertexShader na podstawie pliku. More...
|
|
ID3D11VertexShader * | load_vertex_shader (const std::wstring &file_name, const std::string &shader_name, ID3D11InputLayout **layout, D3D11_INPUT_ELEMENT_DESC *layout_desc, unsigned int array_size, const char *shader_model) |
| Tworzy obiekt vertex shadera na podstawie pliku. Zwraca również layout dla podanej struktury wierzchołka. Nie należy używać tej funkcji, jeżeli layout nie jest rzeczywiście potrzebny. Trzeba pamietać o zwolnieniu go, kiedy przestanie być potrzebny. More...
|
|
ID3D11PixelShader * | load_pixel_shader (const std::wstring &file_name, const std::string &shader_name, const char *shader_model) |
|
DX11_INIT_RESULT | InitDevicesAndSwapChain (HWND window, bool fullscreen, bool single_thread=true) |
| Tworzy obiekty swap_chain, device i device_context. More...
|
|
DX11_INIT_RESULT | init_viewport () |
| Ustawia viewport zgodny z aktualnie ustawionym deskryptorem. More...
|
|
DX11_INIT_RESULT | init_z_buffer_and_render_target () |
| Funkcja tworzy z-bufffer oraz pobiera tylny bufor i tworzy z niego render target. Następnie widok z bufora i widok tylnego bufora są ustawione jako cel dla funkcji renderujących renderowania. More...
|
|
DX11_INIT_RESULT | init_vertex_shader (const std::wstring &file_name, const std::string &shader_name) |
| Funkcja tworzy shader na podstawie podanego pliku, kompiluje go, a potem obudowuje klasą będącą interfejsem shadera. Parametr shader_name oznacza nazwę funkcji, od której zaczyna się wykonanie kodu shadera. More...
|
|
DX11_INIT_RESULT | init_pixel_shader (const std::wstring &file_name, const std::string &shader_name) |
| Funkcja tworzy shader na podstawie podanego pliku, kompiluje go, a potem obudowuje klasą będącą interfejsem shadera. Parametr shader_name oznacza nazwę funkcji, od której zaczyna się wykonanie kodu shadera. More...
|
|
DX11_INIT_RESULT | init_sampler () |
| Tworzy domyślny smapler. More...
|
|
| DX11APIObjects () |
|
| ~DX11APIObjects ()=default |
|
DX11_INIT_RESULT | init_DX11 (int width, int height, HWND window, bool fullscreen, const std::wstring &pix_shader_file, const std::string &pix_shader_name, const std::wstring &vert_shader_file, const std::string &vert_shader_name, bool single_thread=true) |
| Funkcja do pełnej inicjalizacji DirectXa. More...
|
|
DX11_INIT_RESULT | init_DX11 (int width, int height, HWND window, bool fullscreen, bool single_thread=true) |
| Funkcja do pełnej inicjalizacji DirectXa. More...
|
|
void | begin_scene () |
| Czyścimy tylny bufor oraz z-bufor i wywołujemy funcję inicjującą renderowanie. More...
|
|
void | end_scene_and_present () |
| Wywołuje funkcję swap_chain->Present w celu wyświetlenia narysowanej sceny na monitorze. More...
|
|
void | SetDebugName (ID3D11DeviceChild *child, const std::string &name) |
|
bool | IsDebugLayerEnabled () |
|
Klasa zawiera wskaźniki na bufory stałych zawierające podstawowe zestawy elementów przekazywanych do shaderów. Są to miedzy innymi macierze transformacji.
- Note
- Jeżeli w jakimkolwiek miejscu są używane obiekty z tej klasy (DX11AuxiliaryObjects), a nie tylko z klasy bazowej, to przy zwalnianiu należy koniecznie wywołać funkcję release_DirectX tego obiektu, a nie klasy bazowej. Czyli innymi słowy klasa odpowiedzialna za zwalnianie musi odziedziczyć po tym obiekcie nawet, jeżeli nie używa jego zmiennych. W przeciwnym razie zostanie wywołany funkcja wirtualna dla klasy bazowej.