Dawn/ts/main.ts

47 lines
900 B
TypeScript

let cube:Primitive;
let shader:Shader;
let camera:Camera;
let texture:Texture;
let n:number;
const init = () => {
print('Main invoked');
n = 0;
// Create Quad
cube = primitiveCreate();
quadInit(cube, 0, -1, -1, 0, 0, 1, 1, 1, 1);
// Create Camera
camera = cameraCreate();
// Load Shader
shader = shaderCreate();
assetShaderLoad(shader, "shaders/textured.vert", "shaders/textured.frag");
// Texture load
texture = textureCreate();
assetTextureLoad(texture, "test_texture.png");
}
const update = () => {
shaderUse(shader);
shaderUseTexture(shader, texture);
n += epochGetDelta();
cameraLookAt(camera, 3,3,3, 0,0,0);
cameraPerspective(camera, 45, 16/9, 0.01, 100);
shaderUseCamera(shader, camera);
shaderUsePosition(shader, 0,0,0, 0,n,0);
primitiveDraw(cube, 0, -1);
}
const dispose = () => {
cameraDispose(camera);
shaderDispose(shader);
}