|
Diligent Engine
v.2.4.g
|
#include "pch.h"#include <unordered_set>#include <string>#include "HLSL2GLSLConverterImpl.hpp"#include "GraphicsAccessories.hpp"#include "DataBlobImpl.hpp"#include "StringDataBlobImpl.hpp"#include "StringTools.hpp"#include "EngineMemory.h"#include "GLSLDefinitions_inc.h"Namespaces | |
| Diligent | |
| The library uses Direct3D-style math: | |
Macros | |
| #define | DEFINE_KEYWORD(keyword) m_HLSLKeywords.insert(std::make_pair(#keyword, TokenInfo(TokenType::kw_##keyword, #keyword))); |
| #define | DEFINE_GET_DIM_STUB(Name, Obj, NumArgs) m_GLSLStubs.emplace(make_pair(FunctionStubHashKey(Pref + Obj + Suff, "GetDimensions", NumArgs), GLSLStubInfo(Name, ""))) |
| #define | DEFINE_STUB(Name, Obj, Func, NumArgs) m_GLSLStubs.emplace(make_pair(FunctionStubHashKey(Obj, Func, NumArgs), GLSLStubInfo(Name, Swizzle))) |
| #define | DEFINE_ATOMIC_OP_STUBS(Op) |
| #define | DEFINE_VARIABLE(ShaderInd, IsOut, Semantic, Variable) m_HLSLSemanticToGLSLVar[ShaderInd][IsOut].emplace(make_pair(HashMapStringKey(Semantic), Variable)) |
| #define | VERIFY_PARSER_STATE(Token, Condition, ...) |
| #define | COPY_SYMBOL() |
| #define | CHECK_END(...) |
| #define | BRACKET_CASE(Symbol, TokenType, Action) |
| #define | CHECK_EOF() VERIFY_PARSER_STATE(Token, Token != m_Tokens.end(), "Unexpected EOF in ", TexDeclToken->Literal, " declaration") |
Functions | |
| bool | Diligent::IsWhitespace (Char Symbol) |
| bool | Diligent::IsNewLine (Char Symbol) |
| bool | Diligent::IsDelimiter (Char Symbol) |
| bool | Diligent::IsStatementSeparator (Char Symbol) |
| bool | Diligent::SkipDelimeters (const String &Input, String::const_iterator &SrcChar) |
| template<typename IteratorType > | |
| bool | Diligent::SkipDelimetersAndComments (const String &Input, IteratorType &SrcChar) |
| bool | Diligent::SkipIdentifier (const String &Input, String::const_iterator &SrcChar) |
| String | Diligent::CompressNewLines (const String &Str) |
| template<typename IterType > | |
| bool | Diligent::SkipPrefix (const Char *RefStr, IterType &begin, IterType end) |
| void | Diligent::ReadNumericConstant (const String &Source, String::const_iterator &Pos, String &Output) |
| void | Diligent::ParseImageFormat (const String &Comment, String &ImageFormat) |
| void | Diligent::InitVariable (const String &Name, const String &InitValue, std::stringstream &OutSS) |
| void | Diligent::DefineInterfaceVar (int location, const char *inout, const String &ParamType, const String &ParamName, std::stringstream &OutSS) |
| void | Diligent::ParseAttributesInComment (const String &Comment, std::unordered_map< HashMapStringKey, String, HashMapStringKey::Hasher > &Attributes) |
| #define BRACKET_CASE | ( | Symbol, | |
| TokenType, | |||
| Action | |||
| ) |
| #define CHECK_END | ( | ... | ) |
| #define CHECK_EOF | ( | ) | VERIFY_PARSER_STATE(Token, Token != m_Tokens.end(), "Unexpected EOF in ", TexDeclToken->Literal, " declaration") |
| #define COPY_SYMBOL | ( | ) |
| #define DEFINE_ATOMIC_OP_STUBS | ( | Op | ) |
| #define DEFINE_GET_DIM_STUB | ( | Name, | |
| Obj, | |||
| NumArgs | |||
| ) | m_GLSLStubs.emplace(make_pair(FunctionStubHashKey(Pref + Obj + Suff, "GetDimensions", NumArgs), GLSLStubInfo(Name, ""))) |
| #define DEFINE_KEYWORD | ( | keyword | ) | m_HLSLKeywords.insert(std::make_pair(#keyword, TokenInfo(TokenType::kw_##keyword, #keyword))); |
| #define DEFINE_STUB | ( | Name, | |
| Obj, | |||
| Func, | |||
| NumArgs | |||
| ) | m_GLSLStubs.emplace(make_pair(FunctionStubHashKey(Obj, Func, NumArgs), GLSLStubInfo(Name, Swizzle))) |
| #define DEFINE_VARIABLE | ( | ShaderInd, | |
| IsOut, | |||
| Semantic, | |||
| Variable | |||
| ) | m_HLSLSemanticToGLSLVar[ShaderInd][IsOut].emplace(make_pair(HashMapStringKey(Semantic), Variable)) |
| #define VERIFY_PARSER_STATE | ( | Token, | |
| Condition, | |||
| ... | |||
| ) |
1.8.17