From d17b30ffef91a429457717176036fb9ca5483540 Mon Sep 17 00:00:00 2001 From: Erik Onarheim Date: Mon, 5 Aug 2024 10:01:51 -0500 Subject: [PATCH] deprecate: v_texcoord in ScreenShader --- CHANGELOG.md | 1 + .../Graphics/PostProcessor/ScreenShader.ts | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc932cf4e..079ee9307 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,6 +47,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Deprecated +- `ScreenShader` v_texcoord is deprecated, use v_uv. This is changed to match the materials shader API - `actor.getGlobalPos()` - use `actor.globalPos` instead - `actor.getGlobalRotation()` - use `actor.globalRotation` instead - `actor.getGlobalScale()` - use `actor.globalScale` instead diff --git a/src/engine/Graphics/PostProcessor/ScreenShader.ts b/src/engine/Graphics/PostProcessor/ScreenShader.ts index 7bb7fb5fb..3cad01214 100644 --- a/src/engine/Graphics/PostProcessor/ScreenShader.ts +++ b/src/engine/Graphics/PostProcessor/ScreenShader.ts @@ -1,3 +1,4 @@ +import { Logger } from '../../Util/Log'; import { Shader } from '../Context/shader'; import { VertexBuffer } from '../Context/vertex-buffer'; import { VertexLayout } from '../Context/vertex-layout'; @@ -13,17 +14,27 @@ export class ScreenShader { private _buffer: VertexBuffer; private _layout: VertexLayout; constructor(gl: WebGL2RenderingContext, fragmentSource: string) { + if (process.env.NODE_ENV === 'development') { + if (fragmentSource.includes('v_texcoord')) { + Logger.getInstance().warn( + `ScreenShader: "v_texcoord" is deprecated in postprocessing fragment shaders will be removed in v1.0,` + + ` use "v_uv" instead. Source [${fragmentSource}]` + ); + } + } this._shader = new Shader({ gl, vertexSource: `#version 300 es in vec2 a_position; - in vec2 a_texcoord; + in vec2 a_uv; out vec2 v_texcoord; + out vec2 v_uv; void main() { gl_Position = vec4(a_position, 0.0, 1.0); // Pass the texcoord to the fragment shader. - v_texcoord = a_texcoord; + v_texcoord = a_uv; + v_uv = a_uv; }`, fragmentSource: fragmentSource }); @@ -45,7 +56,7 @@ export class ScreenShader { vertexBuffer: this._buffer, attributes: [ ['a_position', 2], - ['a_texcoord', 2] + ['a_uv', 2] ] }); this._buffer.upload();