Skip to content

Commit 640a845

Browse files
authored
Merge pull request #217 from cabanier/depth-sensing-2
Enhance webxr samples renderer + enable depth sensing with xrwebgllayer
2 parents 0766c4c + 239b836 commit 640a845

26 files changed

+515
-795
lines changed

js/render/core/program.js

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,32 @@
1919
// SOFTWARE.
2020

2121
export class Program {
22-
constructor(gl, vertSrc, fragSrc, attribMap, defines) {
22+
constructor(gl, vertSrc, fragSrc, attribMap, defines, extensions, layouts) {
2323
this._gl = gl;
2424
this.program = gl.createProgram();
2525
this.attrib = null;
2626
this.uniform = null;
2727
this.defines = {};
28+
this.extensions = [];
29+
this.layouts = [];
2830

2931
this._firstUse = true;
3032
this._nextUseCallbacks = [];
3133

34+
let extensionsString = '';
35+
if (extensions) {
36+
for (let extension of extensions) {
37+
this.extensions.push(extension);
38+
extensionsString += `#extension ${extension} : require\n`;
39+
}
40+
}
41+
let layoutsString = '';
42+
if (layouts) {
43+
for (let layout of layouts) {
44+
this.layouts.push(layout);
45+
layoutsString += `layout(${layout}) in;\n`;
46+
}
47+
}
3248
let definesString = '';
3349
if (defines) {
3450
for (let define in defines) {
@@ -39,12 +55,12 @@ export class Program {
3955

4056
this._vertShader = gl.createShader(gl.VERTEX_SHADER);
4157
gl.attachShader(this.program, this._vertShader);
42-
gl.shaderSource(this._vertShader, definesString + vertSrc);
58+
gl.shaderSource(this._vertShader, '#version 300 es\n' + extensionsString + layoutsString + definesString + vertSrc);
4359
gl.compileShader(this._vertShader);
4460

4561
this._fragShader = gl.createShader(gl.FRAGMENT_SHADER);
4662
gl.attachShader(this.program, this._fragShader);
47-
gl.shaderSource(this._fragShader, definesString + fragSrc);
63+
gl.shaderSource(this._fragShader, '#version 300 es\n' + extensionsString + definesString + fragSrc);
4864
gl.compileShader(this._fragShader);
4965

5066
if (attribMap) {

0 commit comments

Comments
 (0)