1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file. 4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Global variable. 6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)var gl_context; 7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)initializeWebGL = function(canvas) { 9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) gl_context = null; 10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Try to grab the standard context. 11c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) gl_context = canvas.getContext("webgl") || 12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) canvas.getContext("experimental-webgl"); 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // If we don't have a GL context, give up now 14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) if (!gl_context) { 15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) alert("Unable to initialize WebGL. Your browser may not support it."); 16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) } 17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)startWebGLContext = function() { 20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) var canvas = document.getElementById("glcanvas"); 21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Initialize the GL context. 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) initializeWebGL(canvas); 23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Only continue if WebGL is available and working. 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) if (gl_context) { 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) gl_context.clearColor(0.0, 0.0, 0.0, 1.0); 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) gl_context.enable(gl_context.DEPTH_TEST); 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) gl_context.depthFunc(gl_context.LEQUAL); 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) gl_context.clearDepth(1); 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) gl_context.clear(gl_context.COLOR_BUFFER_BIT | 31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) gl_context.DEPTH_BUFFER_BIT); 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) } 33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}