experiment

This commit is contained in:
Pavel Dobryakov
2017-08-26 12:51:50 +03:00
parent 1f277bb778
commit 5a5724916e

View File

@@ -1,9 +1,9 @@
'use strict'; 'use strict';
const canvas = document.getElementsByTagName('canvas')[0]; const canvas = document.getElementsByTagName('canvas')[0];
const params = { alpha: false, preserveDrawingBuffer: false, depth: false, stencil: false, antialias: false }; const params = { alpha: false, depth: false, stencil: false, antialias: false };
let gl = canvas.getContext('webgl2'); let gl = canvas.getContext('webgl2', params);
const isWebGL2 = !!gl; const isWebGL2 = !!gl;
if (!isWebGL2) { if (!isWebGL2) {
gl = canvas.getContext('webgl', params) || canvas.getContext('experimental-webgl', params); gl = canvas.getContext('webgl', params) || canvas.getContext('experimental-webgl', params);
@@ -11,11 +11,14 @@ if (!isWebGL2) {
gl.clearColor(0.0, 0.0, 0.0, 1.0); gl.clearColor(0.0, 0.0, 0.0, 1.0);
const halfFloat = gl.getExtension('OES_texture_half_float'); const halfFloat = gl.getExtension('OES_texture_half_float');
const support_linear_float = gl.getExtension('OES_texture_half_float_linear'); let support_linear_float = gl.getExtension('OES_texture_half_float_linear');
if (isWebGL2) { if (isWebGL2) {
gl.getExtension('EXT_color_buffer_float'); gl.getExtension('EXT_color_buffer_float');
support_linear_float = gl.getExtension('OES_texture_float_linear');
} }
gl.clearColor(0.0, 0.0, 0.0, 1.0);
resizeCanvas(); resizeCanvas();
const TEXTURE_DOWNSAMPLE = 1; const TEXTURE_DOWNSAMPLE = 1;
@@ -373,7 +376,7 @@ let pressure = createDoubleFBO(6, TEXTURE_WIDTH, TEXTURE_HEIGHT, internalForma
const displayProgram = new GLProgram(baseVertexShader, displayShader); const displayProgram = new GLProgram(baseVertexShader, displayShader);
const splatProgram = new GLProgram(baseVertexShader, splatShader); const splatProgram = new GLProgram(baseVertexShader, splatShader);
const advectionProgram = new GLProgram(baseVertexShader, support_linear_float ? advectionShader : advectionManualFilteringShader); const advectionProgram = new GLProgram(baseVertexShader, advectionManualFilteringShader);
const divergenceProgram = new GLProgram(baseVertexShader, divergenceShader); const divergenceProgram = new GLProgram(baseVertexShader, divergenceShader);
const curlProgram = new GLProgram(baseVertexShader, curlShader); const curlProgram = new GLProgram(baseVertexShader, curlShader);
const vorticityProgram = new GLProgram(baseVertexShader, vorticityShader); const vorticityProgram = new GLProgram(baseVertexShader, vorticityShader);
@@ -543,4 +546,4 @@ function onPointerUp () {
for (let i = 0; i < pointers.length; i++) { for (let i = 0; i < pointers.length; i++) {
pointers[i].down = false; pointers[i].down = false;
} }
} }