Add parseUniforms and parseAttributes for WebGL shaders
This commit is contained in:
parent
f0befe57fc
commit
15c9503e40
1 changed files with 8 additions and 6 deletions
|
@ -2,7 +2,7 @@
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
make.webgl = {
|
make.webgl = {
|
||||||
internalFormat: {
|
internalFormat: {
|
||||||
'RGB': {format: 'RGB', type: ['UNSIGNED_BYTE', 'UNSIGNED_SHORT_5_6_5']},
|
'RGB': {format: 'RGB', type: ['UNSIGNED_BYTE', 'UNSIGNED_SHORT_5_6_5']},
|
||||||
'RGBA': {format: 'RGBA', type: ['UNSIGNED_BYTE', 'UNSIGNED_SHORT_4_4_4_4', 'UNSIGNED_SHORT_5_5_5_1']},
|
'RGBA': {format: 'RGBA', type: ['UNSIGNED_BYTE', 'UNSIGNED_SHORT_4_4_4_4', 'UNSIGNED_SHORT_5_5_5_1']},
|
||||||
|
@ -55,7 +55,7 @@
|
||||||
return 'RENDERBUFFER'
|
return 'RENDERBUFFER'
|
||||||
},
|
},
|
||||||
textureSources: () => {
|
textureSources: () => {
|
||||||
sources = [
|
let sources = [
|
||||||
'HTMLCanvasElement',
|
'HTMLCanvasElement',
|
||||||
'HTMLImageElement',
|
'HTMLImageElement',
|
||||||
'HTMLVideoElement',
|
'HTMLVideoElement',
|
||||||
|
@ -66,19 +66,21 @@
|
||||||
return random.item(sources)
|
return random.item(sources)
|
||||||
},
|
},
|
||||||
parseUniforms: (shader) => {
|
parseUniforms: (shader) => {
|
||||||
let names = [], result = shader.match(/uniform .* (\w+)(?=;)/gm)
|
let names = []
|
||||||
|
let result = shader.match(/uniform .* (\w+)(?=;)/gm)
|
||||||
if (result) {
|
if (result) {
|
||||||
result.forEach(function (v) {
|
result.forEach(function (v) {
|
||||||
names.push(v.split(" ").pop())
|
names.push(v.split(' ').pop())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
return names
|
return names
|
||||||
},
|
},
|
||||||
parseAttributes: (shader) => {
|
parseAttributes: (shader) => {
|
||||||
let names = [], result = shader.match(/attribute .* (\w+)(?=;)/gm)
|
let names = []
|
||||||
|
let result = shader.match(/attribute .* (\w+)(?=;)/gm)
|
||||||
if (result) {
|
if (result) {
|
||||||
result.forEach(function (v) {
|
result.forEach(function (v) {
|
||||||
names.push(v.split(" ").pop())
|
names.push(v.split(' ').pop())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
return names
|
return names
|
||||||
|
|
Loading…
Reference in a new issue