import Ġorg . open rnd r . application Ċ import Ġorg . open rnd r . color . Color RGB a Ċ import Ġorg . open rnd r . draw . Draw Primitive Ċ import Ġorg . open rnd r . draw . Shader Ċ import Ġorg . open rnd r . draw . vertex Buffer Ċ import Ġorg . open rnd r . draw . vertex Format Ċ import Ġorg . open rnd r . resource Text Ċ import Ġorg . open rnd r . resource Url Ċ import Ġorg . open rnd r . shape . Ellipse Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġapplication Ġ{ ĊĠĠĠĠĠĠĠ Ġprogram Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġel lipse Ġ= ĠEl lipse ( width / 2 . 0 , Ġheight / 2 . 0 , Ġ 1 0 0 . 0 , Ġ 2 0 0 . 0 ). contour ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvb Ġ= Ġvertex Buffer ( vertex Format Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġposition ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġel lipse . segments . size Ġ* Ġ 4 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġshader Ġ= ĠShader . createFrom Code ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvs Code Ġ= Ġresource Text ("/ shaders / ts - 0 3 . vert "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtcs Code Ġ= Ġresource Text ("/ shaders / ts - 0 3 . tes c "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtes Code Ġ= Ġresource Text ("/ shaders / ts - 0 3 . te se "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgs Code Ġ= Ġresource Text ("/ shaders / ts - 0 3 . geom "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfs Code Ġ= Ġresource Text ("/ shaders / ts - 0 3 . frag "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" x " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvb . put Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( segment Ġin Ġel lipse . segments ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcubic Ġ= Ġsegment . cubic ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite ( cubic . start . xy 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite ( cubic . control [ 0 ]. xy 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite ( cubic . control [ 1 ]. xy 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite ( cubic . end . xy 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġextend Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . clear ( Color RGB a . PIN K ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . translate ( width / 2 . 0 , Ġheight / 2 . 0 , Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . rotate ( seconds * 4 5 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . translate (- width / 2 . 0 , Ġ- height / 2 . 0 , Ġ 0 . 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshader . begin () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshader . uniform (" offset ", Ġmouse . position . xy 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshader . uniform (" view ", Ġdrawer . view ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshader . uniform (" proj ", Ġdrawer . projection ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshader . uniform (" model ", Ġdrawer . model ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshader . uniform (" resolution ", Ġ(( mouse . position . x Ġ/ Ġwidth ) Ġ* Ġ 6 3 Ġ+ Ġ 1 ). toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshader . uniform (" weight ", (( mouse . position . y Ġ/ Ġheight ) Ġ* Ġ 1 2 8 Ġ+ Ġ 1 ) Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdriver . draw VertexBuffer ( shader , ĠlistOf ( vb ), ĠDraw Primitive . PATCH ES , Ġ 0 , Ġvb . vertex Count ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshader . end () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }