package Ġorg . open rnd r . internal . null gl Ċ Ċ import Ġorg . open rnd r . color . Color RGB a Ċ import Ġorg . open rnd r . draw .* Ċ import Ġorg . open rnd r . math .* Ċ Ċ class ĠShader Null GL ( override Ġval Ġsession : ĠSession ?) Ġ: ĠShader Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġtypes : ĠSet < Shader Type > Ġ= Ġempty Set () ĊĊĊĠĠĠ Ġoverride Ġfun Ġbegin () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġend () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas Uniform ( name : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Block ( block Name : ĠString ): ĠUniform Block Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġub l Ġ= ĠUniform Block Layout ( 0 , Ġempty Map ()) ĊĠĠĠĠĠĠĠ Ġreturn ĠUniform Block Null GL ( ub l ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġblock Layout ( block Name : ĠString ): ĠUniform Block Layout ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġblock ( block Name : ĠString , Ġblock : ĠUniform Block ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠMatrix 3 3 ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠMatrix 4 4 ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠArray < Matrix 4 4 >) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠColor RGB a ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠVector 4 ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠVector 3 ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠVector 2 ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠInt Vector 4 ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠInt Vector 3 ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠInt Vector 2 ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġx : ĠFloat , Ġy : ĠFloat , Ġz : ĠFloat , Ġw : ĠFloat ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġx : ĠFloat , Ġy : ĠFloat , Ġz : ĠFloat ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġx : ĠFloat , Ġy : ĠFloat ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠDouble ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠFloat ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠInt ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠBoolean ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠArray < Double >) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠArray < Color RGB a >) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠArray < Vector 4 >) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠArray < Vector 3 >) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠArray < Vector 2 >) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠArray < Int Vector 4 >) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠArray < Int Vector 3 >) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠArray < Int Vector 2 >) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠFloat Array ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuniform ( name : ĠString , Ġvalue : ĠInt Array ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdestroy () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġimage ( name : ĠString , Ġimage : ĠInt , Ġimage Binding : ĠImage Binding ) Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠĠ Ġ} ĊĊ Ċ }