Add parseUniforms and parseAttributes for WebGL shaders

This commit is contained in:
Christoph Diehl 2018-02-20 03:06:17 +01:00
parent f0befe57fc
commit 15c9503e40
No known key found for this signature in database
GPG Key ID: 799CE5B68FEF404A
1 changed files with 8 additions and 6 deletions

View File

@ -55,7 +55,7 @@
return 'RENDERBUFFER'
},
textureSources: () => {
sources = [
let sources = [
'HTMLCanvasElement',
'HTMLImageElement',
'HTMLVideoElement',
@ -66,19 +66,21 @@
return random.item(sources)
},
parseUniforms: (shader) => {
let names = [], result = shader.match(/uniform .* (\w+)(?=;)/gm)
let names = []
let result = shader.match(/uniform .* (\w+)(?=;)/gm)
if (result) {
result.forEach(function (v) {
names.push(v.split(" ").pop())
names.push(v.split(' ').pop())
})
}
return names
},
parseAttributes: (shader) => {
let names = [], result = shader.match(/attribute .* (\w+)(?=;)/gm)
let names = []
let result = shader.match(/attribute .* (\w+)(?=;)/gm)
if (result) {
result.forEach(function (v) {
names.push(v.split(" ").pop())
names.push(v.split(' ').pop())
})
}
return names