| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /*
- * 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
- }
|