CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
Targets.hpp File Reference

Go to the source code of this file.

Namespaces

namespace  CeresEngine
 
namespace  CeresEngine::ShaderCompiler
 

Enumerations

enum class  CeresEngine::ShaderCompiler::ShaderTarget {
  CeresEngine::ShaderCompiler::Undefined , CeresEngine::ShaderCompiler::VertexShader , CeresEngine::ShaderCompiler::TessellationControlShader , CeresEngine::ShaderCompiler::TessellationEvaluationShader ,
  CeresEngine::ShaderCompiler::GeometryShader , CeresEngine::ShaderCompiler::FragmentShader , CeresEngine::ShaderCompiler::ComputeShader
}
 Shader target enumeration. More...
 
enum class  CeresEngine::ShaderCompiler::InputShaderVersion {
  CeresEngine::ShaderCompiler::Cg = 2 , CeresEngine::ShaderCompiler::HLSL3 = 3 , CeresEngine::ShaderCompiler::HLSL4 = 4 , CeresEngine::ShaderCompiler::HLSL5 = 5 ,
  CeresEngine::ShaderCompiler::HLSL6 = 6 , CeresEngine::ShaderCompiler::GLSL = 0x0000ffff , CeresEngine::ShaderCompiler::ESSL = 0x0001ffff , CeresEngine::ShaderCompiler::VKSL = 0x0002ffff
}
 Input shader version enumeration. More...
 
enum class  CeresEngine::ShaderCompiler::OutputShaderVersion {
  CeresEngine::ShaderCompiler::GLSL110 = 110 , CeresEngine::ShaderCompiler::GLSL120 = 120 , CeresEngine::ShaderCompiler::GLSL130 = 130 , CeresEngine::ShaderCompiler::GLSL140 = 140 ,
  CeresEngine::ShaderCompiler::GLSL150 = 150 , CeresEngine::ShaderCompiler::GLSL330 = 330 , CeresEngine::ShaderCompiler::GLSL400 = 400 , CeresEngine::ShaderCompiler::GLSL410 = 410 ,
  CeresEngine::ShaderCompiler::GLSL420 = 420 , CeresEngine::ShaderCompiler::GLSL430 = 430 , CeresEngine::ShaderCompiler::GLSL440 = 440 , CeresEngine::ShaderCompiler::GLSL450 = 450 ,
  CeresEngine::ShaderCompiler::GLSL460 = 460 , CeresEngine::ShaderCompiler::GLSL = 0x0000ffff , CeresEngine::ShaderCompiler::ESSL100 = (0x00010000 + 100) , CeresEngine::ShaderCompiler::ESSL300 = (0x00010000 + 300) ,
  CeresEngine::ShaderCompiler::ESSL310 = (0x00010000 + 310) , CeresEngine::ShaderCompiler::ESSL320 = (0x00010000 + 320) , CeresEngine::ShaderCompiler::ESSL = 0x0001ffff , CeresEngine::ShaderCompiler::VKSL450 = (0x00020000 + 450) ,
  CeresEngine::ShaderCompiler::VKSL = 0x0002ffff
}
 Output shader version enumeration. More...
 

Functions

String CeresEngine::ShaderCompiler::toString (const ShaderTarget target)
 Returns the specified shader target as string.
 
String CeresEngine::ShaderCompiler::toString (const InputShaderVersion shaderVersion)
 Returns the specified shader input version as string.
 
String CeresEngine::ShaderCompiler::toString (const OutputShaderVersion shaderVersion)
 Returns the specified shader output version as string.
 
bool CeresEngine::ShaderCompiler::isLanguageHLSL (const InputShaderVersion shaderVersion)
 Returns true if the shader input version specifies HLSL (for DirectX) or Cg (handled as dialect or HLSL).
 
bool CeresEngine::ShaderCompiler::isLanguageGLSL (const InputShaderVersion shaderVersion)
 Returns true if the shader input version specifies GLSL (for OpenGL, OpenGL ES, and Vulkan).
 
bool CeresEngine::ShaderCompiler::isLanguageGLSL (const OutputShaderVersion shaderVersion)
 Returns true if the shader output version specifies GLSL (for OpenGL 2+).
 
bool CeresEngine::ShaderCompiler::isLanguageESSL (const OutputShaderVersion shaderVersion)
 Returns true if the shader output version specifies ESSL (for OpenGL ES 2+).
 
bool CeresEngine::ShaderCompiler::isLanguageVKSL (const OutputShaderVersion shaderVersion)
 Returns true if the shader output version specifies VKSL (for Vulkan).
 
const Map< String, int > & CeresEngine::ShaderCompiler::getGLSLExtensionEnumeration ()
 Returns the enumeration of all supported GLSL extensions as a map of extension name and version number.