package Ġcom . github . ch os am uel . k ish i be . webgl Ċ import Ġcom . github . ch os am uel . k ish i be . application . Application Ċ import Ġorg . kh ronos . webgl . Web GL Rendering Context Ġas ĠGL Ċ Ċ class Ġid Buffer ( val Ġapp : ĠApplication ): ĠBuffer Ġ{ ĊĠĠĠ Ġval Ġids Ġ= Ġmutable ListOf < Float >() ĊĠĠĠ Ġvar Ġid Buffer Ġ= Ġapp . gl . create Buffer () ĊĊĠĠĠ Ġoverride Ġfun Ġbind ( app : ĠApplication ){ ĊĠĠĠĠĠĠĠ Ġval Ġid Data Ġ= Ġids . to Typed Array () ĊĠĠĠĠĠĠĠ Ġapp . gl . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable VertexAttrib Array ( app . active Shader . vertex Id Location ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Buffer Ġ= Ġcreate Buffer () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbind Buffer ( GL . ARRAY _ BUFFER , Ġid Buffer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer Data ( GL . ARRAY _ BUFFER , Ġorg . kh ronos . webgl . Float 3 2 Array ( id Data ), ĠGL . STATIC _ DRAW ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvertex Attrib Pointer ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp . active Shader . vertex Id Location , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGL . FLOAT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġun bind (){ ĊĠĠĠĠĠĠĠ Ġapp . gl . delete Buffer ( id Buffer ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsetup ( num Vertices : ĠInt ){ ĊĠĠĠĠĠĠĠ Ġrepeat ( num Vertices ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġids . add ( it . toFloat ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }