@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
26 lines • 2.22 kB
JavaScript
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=