sculpto
shaders_load.h
Go to the documentation of this file.
1/*!****************************************************************//*!*
2 * \file shaders_loader.h
3 * \brief Assets manager shader load function defintion modulule.
4 *
5 * \author Sabitov Kirill
6 * \date 07 July 2022
7 *********************************************************************/
8
9#pragma once
10
11#include "base.h"
12
14namespace scl { class shader_program; }
15
16namespace scl::assets_manager
17{
18 /*!*
19 * Load shader from file function.
20 *
21 * \param ShaderProgamFilePath - file containing all shaders to compile in program.
22 * \return pointer to shader, loaded from file.
23 */
24 shared<shader_program> LoadShader(const std::filesystem::path &ShaderProgamFilePath);
25
26 /*!*
27 * Load shader from file function.
28 *
29 * \param VertexShaderFilePath - file containing vertex shader.
30 * \param PixelShaderFilePath - file containing pixel(fragment) shader.
31 * \return pointer to shader, loaded from files.
32 */
33 shared<shader_program> LoadShader(const std::filesystem::path &VertexShaderFilePath,
34 const std::filesystem::path &PixelShaderFilePath);
35
36 /*!*
37 * Load shader from file function.
38 *
39 * \param VertexShaderFilePath - file containing vertex shader.
40 * \param GeomShaderFilePath - file containing pixel(fragment) shader.
41 * \param PixelShaderFilePath - file containing pixel(fragment) shader.
42 * \return pointer to shader, loaded from files.
43 */
44 shared<shader_program> LoadShader(const std::filesystem::path &VertexShaderFilePath,
45 const std::filesystem::path &GeomShaderFilePath,
46 const std::filesystem::path &PixelShaderFilePath);
47
48 /*!*
49 * Update existing shader program function.
50 *
51 * \param ShaderProgram - shader program to update.
52 * \return None.
53 */
54 void UpdateShader(shared<shader_program> ShaderProgram);
55}
Topology object basis class for mesh creating implementation module.
void UpdateShader(shared< shader_program > ShaderProgram)
shared< shader_program > LoadShader(const std::filesystem::path &ShaderProgamFilePath)
Definition: base.h:33