Khaotic Engine Reborn
Loading...
Searching...
No Matches
water_shader_class Class Reference

Public Member Functions

 water_shader_class (const water_shader_class &)
 
bool initialize (ID3D11Device *, HWND)
 
void shutdown ()
 
bool render (ID3D11DeviceContext *, int, XMMATRIX, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView *, ID3D11ShaderResourceView *, ID3D11ShaderResourceView *, float, float)
 

Detailed Description

Definition at line 19 of file water_shader_class.h.

Constructor & Destructor Documentation

◆ water_shader_class() [1/2]

water_shader_class::water_shader_class ( )

Definition at line 4 of file water_shader_class.cpp.

5{
6 vertex_shader_ = 0;
7 pixel_shader_ = 0;
8 layout_ = 0;
9 sample_state_ = 0;
10 matrix_buffer_ = 0;
11 reflection_buffer_ = 0;
12 water_buffer_ = 0;
13}

◆ water_shader_class() [2/2]

water_shader_class::water_shader_class ( const water_shader_class & other)

Definition at line 16 of file water_shader_class.cpp.

17{
18}

◆ ~water_shader_class()

water_shader_class::~water_shader_class ( )

Definition at line 21 of file water_shader_class.cpp.

22{
23}

Member Function Documentation

◆ initialize()

bool water_shader_class::initialize ( ID3D11Device * device,
HWND hwnd )

Definition at line 26 of file water_shader_class.cpp.

27{
28 bool result;
29 wchar_t vsFilename[128];
30 wchar_t psFilename[128];
31 int error;
32
33 // Set the filename of the vertex shader.
34 error = wcscpy_s(vsFilename, 128, L"src/hlsl/water.vs");
35 if (error != 0)
36 {
37 return false;
38 }
39
40 // Set the filename of the pixel shader.
41 error = wcscpy_s(psFilename, 128, L"src/hlsl/water.ps");
42 if (error != 0)
43 {
44 return false;
45 }
46
47 // initialize the vertex and pixel shaders.
48 result = initialize_shader(device, hwnd, vsFilename, psFilename);
49 if (!result)
50 {
51 return false;
52 }
53
54 return true;
55}

◆ render()

bool water_shader_class::render ( ID3D11DeviceContext * deviceContext,
int indexCount,
XMMATRIX worldMatrix,
XMMATRIX viewMatrix,
XMMATRIX projectionMatrix,
XMMATRIX reflectionMatrix,
ID3D11ShaderResourceView * reflectionTexture,
ID3D11ShaderResourceView * refractionTexture,
ID3D11ShaderResourceView * normalTexture,
float waterTranslation,
float reflectRefractScale )

Definition at line 66 of file water_shader_class.cpp.

69{
70 bool result;
71
72
73 // Set the shader parameters that it will use for rendering.
74 result = set_shader_parameters(deviceContext, worldMatrix, viewMatrix, projectionMatrix, reflectionMatrix, reflectionTexture,
75 refractionTexture, normalTexture, waterTranslation, reflectRefractScale);
76 if (!result)
77 {
78 return false;
79 }
80
81 // Now render the prepared buffers with the shader.
82 render_shader(deviceContext, indexCount);
83
84 return true;
85}

◆ shutdown()

void water_shader_class::shutdown ( )

Definition at line 58 of file water_shader_class.cpp.

59{
60 // shutdown the vertex and pixel shaders as well as the related objects.
61 shutdown_shader();
62
63 return;
64}

The documentation for this class was generated from the following files: