UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

26 lines 2.22 kB
import { TgdVec2 } from "./../math/index.js"; import { TgdUniformBufferObject } from ".//index.js"; export class TgdUniformBufferObjectCamera extends TgdUniformBufferObject { constructor(context) { super(context, { uniforms: { uniModelViewMatrix: "mat4", uniProjectionMatrix: "mat4", uniCameraPosition: "vec3", uniPixel: "vec2", }, }); this.uniPixel = new TgdVec2(1, 1); this.camera = context.camera; } updateData() { const { camera, values, uniPixel } = this; values.uniModelViewMatrix = camera.matrixModelView; values.uniProjectionMatrix = camera.matrixProjection; values.uniCameraPosition = camera.transfo.actualPosition; uniPixel.reset(1 / camera.screenWidth, 1 / camera.screenHeight); values.uniPixel = uniPixel; super.updateData(); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWJvLWNhbWVyYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmb3JtL3Viby1jYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFckQsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHNCQUVqRDtJQUtHLFlBQVksT0FBbUI7UUFDM0IsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNYLFFBQVEsRUFBRTtnQkFDTixrQkFBa0IsRUFBRSxNQUFNO2dCQUMxQixtQkFBbUIsRUFBRSxNQUFNO2dCQUMzQixpQkFBaUIsRUFBRSxNQUFNO2dCQUN6QixRQUFRLEVBQUUsTUFBTTthQUNuQjtTQUNKLENBQUMsQ0FBQTtRQVZXLGFBQVEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFXekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFBO0lBQ2hDLENBQUM7SUFFRCxVQUFVO1FBQ04sTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ3pDLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFBO1FBQ2xELE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUE7UUFDcEQsTUFBTSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFBO1FBQ3hELFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUMvRCxNQUFNLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtRQUMxQixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDdEIsQ0FBQztDQUNKIn0=