Newer
Older
reroad-test / 2020-fuga / aframe-master / src / shaders / ios10hls.js
@fuga sakurai fuga sakurai on 4 Nov 2020 979 bytes a-フレームを追加した
var registerShader = require('../core/shader').registerShader;

/**
 * Custom shader for iOS 10 HTTP Live Streaming (HLS).
 * For more information on HLS, see https://datatracker.ietf.org/doc/draft-pantos-http-live-streaming/
 */
module.exports.Shader = registerShader('ios10hls', {
  schema: {
    src: {type: 'map', is: 'uniform'},
    opacity: {type: 'number', is: 'uniform', default: 1}
  },

  vertexShader: [
    'varying vec2 vUV;',
    'void main(void) {',
    '  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);',
    '  vUV = uv;',
    '}'
  ].join('\n'),

  fragmentShader: [
    'uniform sampler2D src;',
    'uniform float opacity;',
    'varying vec2 vUV;',
    'void main() {',
    '  vec2 offset = vec2(0, 0);',
    '  vec2 repeat = vec2(1, 1);',
    '  vec4 color = texture2D(src, vec2(vUV.x / repeat.x + offset.x, (1.0 - vUV.y) / repeat.y + offset.y)).bgra;',
    '  gl_FragColor = vec4(color.rgb, opacity);',
    '}'
  ].join('\n')
});