From 3e92c452f2ddf7a43b7846988be934ff197ecfc4 Mon Sep 17 00:00:00 2001 From: MrKBear Date: Tue, 15 Feb 2022 22:04:27 +0800 Subject: [PATCH] Move the axes to the upper right corner --- source/GLRender/BasicRenderer.ts | 1 - source/GLRender/ClassicRenderer.ts | 16 +++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/source/GLRender/BasicRenderer.ts b/source/GLRender/BasicRenderer.ts index 1e07001..0df1977 100644 --- a/source/GLRender/BasicRenderer.ts +++ b/source/GLRender/BasicRenderer.ts @@ -97,7 +97,6 @@ abstract class BasicRenderer< */ protected resize() { this.loop(0); - this.gl.viewport(0, 0, this.canvas.width, this.canvas.height); } /** diff --git a/source/GLRender/ClassicRenderer.ts b/source/GLRender/ClassicRenderer.ts index 519872b..22f4895 100644 --- a/source/GLRender/ClassicRenderer.ts +++ b/source/GLRender/ClassicRenderer.ts @@ -66,8 +66,13 @@ class ClassicRenderer extends BasicRenderer<{}, IClassicRendererParams> { } loop(t: number): void { + + // 常规绘制窗口 + this.gl.viewport(0, 0, this.canvas.width, this.canvas.height); + this.camera.dynamics(t); + // 自动计算最佳雾参数 let dist = this.camera.eyeDist; if (Math.abs(this.lastScale - dist) > this.camera.EL) { this.lastScale = dist; @@ -79,9 +84,18 @@ class ClassicRenderer extends BasicRenderer<{}, IClassicRendererParams> { this.cleanCanvas(); - this.axisObject.draw(this.basicShader); this.cubeObject.draw(this.basicShader); this.basicGroup.draw(this.groupShader); + + // 右上角绘制坐标轴 + const position = 120; + this.gl.viewport( + this.canvas.width - position * this.camera.ratio + (this.camera.ratio - 1) * position / 2, + this.canvas.height - position, + position * this.camera.ratio, + position + ); + this.axisObject.draw(this.basicShader); } clean(id?: ObjectID | ObjectID[]): this {