ixshader-0.0.1.0: A shallow embedding of the OpenGL Shading Language in Haskell.

Safe HaskellNone
LanguageHaskell2010

Graphics.IxShader.Socket

Synopsis

Documentation

class KnownTypeSymbol a where Source #

Minimal complete definition

typeSymbolVal

Instances

KnownTypeSymbol * Xbool Source # 
KnownTypeSymbol * Xint Source # 
KnownTypeSymbol * Xvoid Source # 
KnownTypeSymbol * Xuint Source # 
KnownTypeSymbol * Xfloat Source # 
KnownTypeSymbol * Xvec2 Source # 
KnownTypeSymbol * Xvec3 Source # 
KnownTypeSymbol * Xvec4 Source # 
KnownTypeSymbol * Xbvec2 Source # 
KnownTypeSymbol * Xbvec3 Source # 
KnownTypeSymbol * Xbvec4 Source # 
KnownTypeSymbol * Xivec2 Source # 
KnownTypeSymbol * Xivec3 Source # 
KnownTypeSymbol * Xivec4 Source # 
KnownTypeSymbol * Xuvec2 Source # 
KnownTypeSymbol * Xuvec3 Source # 
KnownTypeSymbol * Xuvec4 Source # 
KnownTypeSymbol * Xmat2 Source # 
KnownTypeSymbol * Xmat2x3 Source # 
KnownTypeSymbol * Xmat2x4 Source # 
KnownTypeSymbol * Xmat3x2 Source # 
KnownTypeSymbol * Xmat3 Source # 
KnownTypeSymbol * Xmat3x4 Source # 
KnownTypeSymbol * Xmat4x2 Source # 
KnownTypeSymbol * Xmat4x3 Source # 
KnownTypeSymbol * Xmat4 Source # 
KnownTypeSymbol * t => KnownTypeSymbol * (Const t) Source # 

Methods

typeSymbolVal :: Proxy (Const t) a -> String Source #

KnownTypeSymbol * t => KnownTypeSymbol * (Out k t n) Source # 

Methods

typeSymbolVal :: Proxy (Out k t n) a -> String Source #

KnownTypeSymbol * t => KnownTypeSymbol * (In k t n) Source # 

Methods

typeSymbolVal :: Proxy (In k t n) a -> String Source #

KnownTypeSymbol * t => KnownTypeSymbol * (Uniform k t n) Source # 

Methods

typeSymbolVal :: Proxy (Uniform k t n) a -> String Source #

class Socketed a where Source #

A socket is simply a place where you can stick an external expression as a string. It's good for named uninitializeds, function application, all sorts of stuff.

Minimal complete definition

unSocket, socket

Methods

unSocket :: a -> String Source #

socket :: String -> a Source #

Instances

Socketed Xbool Source # 
Socketed Xint Source # 
Socketed Xvoid Source # 
Socketed Xuint Source # 
Socketed Xfloat Source # 
Socketed Xvec2 Source # 
Socketed Xvec3 Source # 
Socketed Xvec4 Source # 
Socketed Xbvec2 Source # 
Socketed Xbvec3 Source # 
Socketed Xbvec4 Source # 
Socketed Xivec2 Source # 
Socketed Xivec3 Source # 
Socketed Xivec4 Source # 
Socketed Xuvec2 Source # 
Socketed Xuvec3 Source # 
Socketed Xuvec4 Source # 
Socketed Xmat2 Source # 
Socketed Xmat2x3 Source # 
Socketed Xmat2x4 Source # 
Socketed Xmat3x2 Source # 
Socketed Xmat3 Source # 
Socketed Xmat3x4 Source # 
Socketed Xmat4x2 Source # 
Socketed Xmat4x3 Source # 
Socketed Xmat4 Source # 
Socketed t => Socketed (Const t) Source # 
Socketed t => Socketed (Out k t n) Source # 

Methods

unSocket :: Out k t n -> String Source #

socket :: String -> Out k t n Source #

Socketed t => Socketed (In k t n) Source # 

Methods

unSocket :: In k t n -> String Source #

socket :: String -> In k t n Source #

Socketed t => Socketed (Uniform k t n) Source # 

Methods

unSocket :: Uniform k t n -> String Source #

socket :: String -> Uniform k t n Source #

call :: (Socketed a, Socketed b) => String -> a -> b Source #

call2 :: (Socketed a, Socketed b, Socketed c) => String -> a -> b -> c Source #

call3 :: (Socketed a, Socketed b, Socketed c, Socketed d) => String -> a -> b -> c -> d Source #

call4 :: (Socketed a, Socketed b, Socketed c, Socketed d, Socketed e) => String -> a -> b -> c -> d -> e Source #

callInfix :: (Socketed a, Socketed b, Socketed c) => String -> a -> b -> c Source #

toDefinition :: forall a. (Socketed a, KnownTypeSymbol a) => a -> String Source #

define :: (Socketed a, KnownTypeSymbol a) => a -> IxShader ctx i i a Source #

Construct a new thing. Declares the thing w/o initialization.

defineAs :: (Socketed a, KnownTypeSymbol a) => String -> a -> IxShader ctx i i a Source #

Construct a new assignable thing. Initializes it with another thing.

def :: (Socketed a, KnownTypeSymbol a) => String -> a -> IxShader ctx i i a Source #