Skip to content

Commit

Permalink
Merge pull request WebGLSamples#32 from fernandojsg/ovr_multiview2
Browse files Browse the repository at this point in the history
Update multiview implementation to use OVR_multiview2
  • Loading branch information
kenrussell authored Apr 24, 2019
2 parents c002917 + 737acfd commit 91d806c
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 7 deletions.
10 changes: 5 additions & 5 deletions aquarium/aquarium.js
Original file line number Diff line number Diff line change
Expand Up @@ -536,7 +536,7 @@ function createProgramFromTags(

var vsPrefix = ["#version 300 es"];
if (opt_multiview) {
vsPrefix.push("#extension GL_OVR_multiview : require");
vsPrefix.push("#extension GL_OVR_multiview2 : require");
vsPrefix.push("layout(num_views = 2) in;");

var addToMain = '';
Expand All @@ -556,7 +556,7 @@ function createProgramFromTags(

var fsPrefix = ["#version 300 es"];
if (opt_multiview) {
fsPrefix.push("#extension GL_OVR_multiview : require");
fsPrefix.push("#extension GL_OVR_multiview2 : require");
}
fsPrefix.push("out mediump vec4 my_FragColor;");
fs = fsPrefix.join('\n') + fs;
Expand Down Expand Up @@ -884,7 +884,7 @@ function main() {
g_fpsTimer = new tdl.fps.FPSTimer();
if (isMultiviewSupportEnabled()) {
gl = tdl.webgl.setupWebGL(canvas, {antialias: false}, undefined, 'webgl2');
multiview = gl.getExtension('WEBGL_multiview');
multiview = gl.getExtension('OVR_multiview2');
} else {
gl = tdl.webgl.setupWebGL(canvas);
}
Expand Down Expand Up @@ -1878,14 +1878,14 @@ function setupMultiviewFbIfNeeded() {
gl.texParameteri(gl.TEXTURE_2D_ARRAY, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
gl.texParameteri(gl.TEXTURE_2D_ARRAY, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
gl.texImage3D(gl.TEXTURE_2D_ARRAY, 0, gl.RGBA8, halfWidth, canvas.height, 2, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
multiview.framebufferTextureMultiviewWEBGL(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, g_multiviewTex, 0, 0, 2);
multiview.framebufferTextureMultiviewOVR(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, g_multiviewTex, 0, 0, 2);

g_multiviewDepth = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D_ARRAY, g_multiviewDepth);
gl.texParameteri(gl.TEXTURE_2D_ARRAY, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
gl.texParameteri(gl.TEXTURE_2D_ARRAY, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
gl.texImage3D(gl.TEXTURE_2D_ARRAY, 0, gl.DEPTH24_STENCIL8, halfWidth, canvas.height, 2, 0, gl.DEPTH_STENCIL, gl.UNSIGNED_INT_24_8, null);
multiview.framebufferTextureMultiviewWEBGL(gl.FRAMEBUFFER, gl.DEPTH_STENCIL_ATTACHMENT, g_multiviewDepth, 0, 0, 2);
multiview.framebufferTextureMultiviewOVR(gl.FRAMEBUFFER, gl.DEPTH_STENCIL_ATTACHMENT, g_multiviewDepth, 0, 0, 2);

g_multiviewViewFb = [null, null];
for (var viewIndex = 0; viewIndex < 2; ++viewIndex) {
Expand Down
4 changes: 2 additions & 2 deletions tdl/particles.js
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@ tdl.particles.ParticleSystem = function(gl,
var makeShaderSourceMultiview = function(shaderType, shaderString) {
// Replace shader code to get ESSL3 shader code and enable multiview (huge hack, do not do this at home kids)
var prefix = ["#version 300 es"];
prefix.push("#extension GL_OVR_multiview : require");
prefix.push("#extension GL_OVR_multiview2 : require");
if (shaderType == 'vs') {
prefix.push("layout(num_views = 2) in;");
} else {
Expand Down Expand Up @@ -327,7 +327,7 @@ tdl.particles.ParticleSystem = function(gl,
};

var multiviewShaders = [];
if (gl.getExtension('WEBGL_multiview')) {
if (gl.getExtension('OVR_multiview2')) {
multiviewShaders.push(new tdl.shader.Shader(gl,
makeShaderSourceMultiview('vs', tdl.particles.SHADER_STRINGS[0]),
makeShaderSourceMultiview('fs', tdl.particles.SHADER_STRINGS[2])));
Expand Down

0 comments on commit 91d806c

Please sign in to comment.