blob: df1e827c4ca6ed9476e17ecc4e66df673f0f0cde (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#ifndef __JE_JSL_COMPILER_H__
#define __JE_JSL_COMPILER_H__
#include "../../core/je_configuration.h"
#if defined(jin_graphics) && (jin_graphics & jin_graphics_shader)
#include <string>
#include "../../common/je_singleton.hpp"
namespace JinEngine
{
namespace Graphics
{
namespace Shaders
{
///
/// Compile JSL into GLSL.
///
class JSLCompiler : public Singleton<JSLCompiler>
{
public:
///
/// Compile JSL shader source into GLSL.
///
/// @param jsl JSL shader source.
/// @param glsl_vertex Output of vertex glsl shader source.
/// @param glsl_fragment Output of fragment glsl shader source.
/// @return True if compile successful, otherwise return false.
///
bool compile(const std::string& jsl, std::string* glsl_vertex, std::string* glsl_fragment);
private:
singleton(JSLCompiler);
};
} // namespace Shaders
} // namespace Graphics
} // namespace JinEngine
#endif // (jin_graphics) && (jin_graphics & jin_graphics_shader)
#endif // __JE_JSL_COMPILER_H__
|