/** * Copyright(c) Live2D Inc. All rights reserved. * * Use of this source code is governed by the Live2D Open Software license * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. */ attribute vec4 a_position; attribute vec2 a_texCoord; varying vec2 v_texCoord; varying vec2 v_blendCoord; varying vec4 v_clipPos; uniform mat4 u_matrix; uniform mat4 u_clipMatrix; void main() { gl_Position = u_matrix * a_position; #ifdef CLIPPING_MASK v_clipPos = u_clipMatrix * a_position; #else v_clipPos = vec4(0.0); #endif v_texCoord = a_texCoord; v_texCoord.y = 1.0 - v_texCoord.y; vec2 ndcPos = gl_Position.xy / gl_Position.w; v_blendCoord = ndcPos * 0.5 + 0.5; }