type Primitive = Pointer<'PRIMITIVE'>; type Camera = Pointer<'CAMERA'>; type Shader = Pointer<'SHADER'>; type Texture = Pointer<'TEXTURE'>; //////////////////////////////////////////////////////////////////////////////// declare function primitiveCreate():Primitive; declare function primitiveInit( primitive:Primitive, verticeCount:number, indiceCount:number ):void; declare function primitiveDraw( primitive:Primitive, start:number, end:number ):void; declare function primitiveDispose(primitive:Primitive):void; declare function quadInit(primitive:Primitive, z:number, x0:number, y0:number, u0:number, v0:number, x1:number, y1:number, u1:number, v1:number ):void; //////////////////////////////////////////////////////////////////////////////// declare function cameraCreate():Camera; declare function cameraLookAt(camera:Camera, x:number, y:number, z:number, lookX:number, lookY:number, lookZ:number ):void; declare function cameraLook(camera:Camera, x:number, y:number, z:number, pitch:number, yaw:number, roll:number ):void; declare function cameraPerspective(camera:Camera, fov:number, aspect:number, near:number, far:number ):void; declare function cameraOrtho(camera:Camera, left:number, right:number, bottom:number, top:number, near:number, far:number ):void; declare function cameraDispose(camera:Camera):void; //////////////////////////////////////////////////////////////////////////////// declare function shaderCreate():Shader; declare function shaderInit(shader:Shader, vert:string, frag:string):void; declare function shaderDispose(shader:Shader):void; declare function shaderUse(shader:Shader):void; declare function shaderUseCamera(shader:Shader, camera:Camera):void; declare function shaderUsePosition(shader:Shader, x:number, y:number, z:number, pitch:number, yaw:number, roll:number ):void; declare function shaderUsePositionAndScale(shader:Shader, x:number, y:number, z:number, pitch:number, yaw:number, roll:number, sx:number, sy:number, sz:number ):void;