struct CrShader::TypeInfo

Defined in:

crshader/ast/types.cr

Constant Summary

PRIMITIVES = {"Float32" => TypeInfo.new("Float32", "float", "float"), "Float" => TypeInfo.new("Float", "float", "float"), "Float64" => TypeInfo.new("Float64", "float", "float"), "Int32" => TypeInfo.new("Int32", "int", "int"), "Int" => TypeInfo.new("Int", "int", "int"), "UInt32" => TypeInfo.new("UInt32", "uint", "uint"), "UInt" => TypeInfo.new("UInt", "uint", "uint"), "Bool" => TypeInfo.new("Bool", "bool", "bool"), "Void" => TypeInfo.new("Void", "void", "void"), "Vec2" => TypeInfo.new("Vec2", "vec2", "vec2"), "Vec3" => TypeInfo.new("Vec3", "vec3", "vec3"), "Vec4" => TypeInfo.new("Vec4", "vec4", "vec4"), "Color" => TypeInfo.new("Color", "vec4", "vec4"), "Mat2" => TypeInfo.new("Mat2", "mat2", "mat2"), "Mat3" => TypeInfo.new("Mat3", "mat3", "mat3"), "Mat4" => TypeInfo.new("Mat4", "mat4", "mat4"), "IVec2" => TypeInfo.new("IVec2", "ivec2", "ivec2"), "IVec3" => TypeInfo.new("IVec3", "ivec3", "ivec3"), "IVec4" => TypeInfo.new("IVec4", "ivec4", "ivec4"), "UVec2" => TypeInfo.new("UVec2", "uvec2", "uvec2"), "UVec3" => TypeInfo.new("UVec3", "uvec3", "uvec3"), "UVec4" => TypeInfo.new("UVec4", "uvec4", "uvec4"), "BVec2" => TypeInfo.new("BVec2", "bvec2", "bvec2"), "BVec3" => TypeInfo.new("BVec3", "bvec3", "bvec3"), "BVec4" => TypeInfo.new("BVec4", "bvec4", "bvec4"), "Sampler2D" => TypeInfo.new("Sampler2D", "sampler2D", "sampler2D"), "SamplerCube" => TypeInfo.new("SamplerCube", "samplerCube", "samplerCube"), "Sampler2DArray" => TypeInfo.new("Sampler2DArray", "sampler2DArray", "sampler2DArray"), "Sampler3D" => TypeInfo.new("Sampler3D", "sampler3D", "sampler3D"), "Sampler2DShadow" => TypeInfo.new("Sampler2DShadow", "sampler2DShadow", "sampler2DShadow"), "SamplerCubeShadow" => TypeInfo.new("SamplerCubeShadow", "samplerCubeShadow", "samplerCubeShadow"), "Sampler2DArrayShadow" => TypeInfo.new("Sampler2DArrayShadow", "sampler2DArrayShadow", "sampler2DArrayShadow"), "SamplerCubeArray" => TypeInfo.new("SamplerCubeArray", "samplerCubeArray", "samplerCubeArray"), "SamplerCubeArrayShadow" => TypeInfo.new("SamplerCubeArrayShadow", "samplerCubeArrayShadow", "samplerCubeArrayShadow"), "ISampler2D" => TypeInfo.new("ISampler2D", "isampler2D", "isampler2D"), "USampler2D" => TypeInfo.new("USampler2D", "usampler2D", "usampler2D"), "ISampler2DArray" => TypeInfo.new("ISampler2DArray", "isampler2DArray", "isampler2DArray"), "USampler2DArray" => TypeInfo.new("USampler2DArray", "usampler2DArray", "usampler2DArray"), "ISampler3D" => TypeInfo.new("ISampler3D", "isampler3D", "isampler3D"), "USampler3D" => TypeInfo.new("USampler3D", "usampler3D", "usampler3D"), "ISamplerCube" => TypeInfo.new("ISamplerCube", "isamplerCube", "isamplerCube"), "USamplerCube" => TypeInfo.new("USamplerCube", "usamplerCube", "usamplerCube"), "Image2D" => TypeInfo.new("Image2D", "image2D", "image2D"), "IImage2D" => TypeInfo.new("IImage2D", "iimage2D", "iimage2D"), "UImage2D" => TypeInfo.new("UImage2D", "uimage2D", "uimage2D"), "Image2DArray" => TypeInfo.new("Image2DArray", "image2DArray", "image2DArray"), "IImage2DArray" => TypeInfo.new("IImage2DArray", "iimage2DArray", "iimage2DArray"), "UImage2DArray" => TypeInfo.new("UImage2DArray", "uimage2DArray", "uimage2DArray"), "Image3D" => TypeInfo.new("Image3D", "image3D", "image3D"), "IImage3D" => TypeInfo.new("IImage3D", "iimage3D", "iimage3D"), "UImage3D" => TypeInfo.new("UImage3D", "uimage3D", "uimage3D"), "ImageCube" => TypeInfo.new("ImageCube", "imageCube", "imageCube"), "IImageCube" => TypeInfo.new("IImageCube", "iimageCube", "iimageCube"), "UImageCube" => TypeInfo.new("UImageCube", "uimageCube", "uimageCube"), "SubpassInput" => TypeInfo.new("SubpassInput", "subpassInput", "subpassInput"), "lowp" => TypeInfo.new("lowp", "lowp", "lowp"), "mediump" => TypeInfo.new("mediump", "mediump", "mediump"), "highp" => TypeInfo.new("highp", "highp", "highp"), "float" => TypeInfo.new("float", "float", "float"), "int" => TypeInfo.new("int", "int", "int"), "uint" => TypeInfo.new("uint", "uint", "uint"), "bool" => TypeInfo.new("bool", "bool", "bool"), "vec2" => TypeInfo.new("vec2", "vec2", "vec2"), "vec3" => TypeInfo.new("vec3", "vec3", "vec3"), "vec4" => TypeInfo.new("vec4", "vec4", "vec4"), "ivec2" => TypeInfo.new("ivec2", "ivec2", "ivec2"), "ivec3" => TypeInfo.new("ivec3", "ivec3", "ivec3"), "ivec4" => TypeInfo.new("ivec4", "ivec4", "ivec4"), "uvec2" => TypeInfo.new("uvec2", "uvec2", "uvec2"), "uvec3" => TypeInfo.new("uvec3", "uvec3", "uvec3"), "uvec4" => TypeInfo.new("uvec4", "uvec4", "uvec4"), "mat2" => TypeInfo.new("mat2", "mat2", "mat2"), "mat3" => TypeInfo.new("mat3", "mat3", "mat3"), "mat4" => TypeInfo.new("mat4", "mat4", "mat4"), "color" => TypeInfo.new("color", "vec4", "vec4"), "sampler2d" => TypeInfo.new("sampler2d", "sampler2D", "sampler2D"), "sampler_2d" => TypeInfo.new("sampler_2d", "sampler2D", "sampler2D"), "sampler_cube" => TypeInfo.new("sampler_cube", "samplerCube", "samplerCube"), "Vector2" => TypeInfo.new("Vector2", "vec2", "vec2"), "Vector3" => TypeInfo.new("Vector3", "vec3", "vec3"), "Vector4" => TypeInfo.new("Vector4", "vec4", "vec4")}

Constructors

Class Method Summary

Instance Method Summary

Constructor Detail

def self.new(crystal_name : String, gdshader_type : String, glsl_type : String) #

Class Method Detail

def self.normalize(name : String) : String #

def self.resolve(name : String, target : ShaderTarget) : String #

Instance Method Detail

def crystal_name : String #

def gdshader_type : String #

def glsl_type : String #