mirror of
https://github.com/PavelDoGreat/WebGL-Fluid-Simulation.git
synced 2025-10-03 17:31:53 +02:00
experiment
This commit is contained in:
13
script.js
13
script.js
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user