/* * Tencent is pleased to support the open source community by making vap available. * * Copyright (C) 2020 THL A29 Limited, a Tencent company. All rights reserved. * * Licensed under the MIT License (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * * http://opensource.org/licenses/MIT * * Unless required by applicable law or agreed to in writing, software distributed under the License is * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, * either express or implied. See the License for the specific language governing permissions and * limitations under the License. */ import WebglRenderVap from './webgl-render-vap' let isCanWebGL /** * @param options * @constructor * @return {null} */ export default function(options) { if (canWebGL()) { return new WebglRenderVap(Object.assign({}, options)) } else { throw new Error('your browser not support webgl') } } function canWebGL() { if (typeof isCanWebGL !== 'undefined') { return isCanWebGL } try { if (!window.WebGLRenderingContext) { return false } const canvas = document.createElement('canvas') let context = canvas.getContext('webgl') || canvas.getContext('experimental-webgl') isCanWebGL = !!context context = null } catch (err) { isCanWebGL = false } return isCanWebGL }