wonder.js
Version:
48 lines (43 loc) • 2.48 kB
JavaScript
'use strict';
var AllProgramService$Wonderjs = require("../../../record/all/program/AllProgramService.js");
var ShaderIndexAllShaderService$Wonderjs = require("../../../record/all/shader/ShaderIndexAllShaderService.js");
var BuildShaderSourceInitShaderAllService$Wonderjs = require("../all/shader/BuildShaderSourceInitShaderAllService.js");
var HandleGLSLInitNoMaterialShaderService$Wonderjs = require("./glsl/HandleGLSLInitNoMaterialShaderService.js");
var NoMaterialShaderIndexAllShaderService$Wonderjs = require("../../../record/all/shader/NoMaterialShaderIndexAllShaderService.js");
var HandleUniformConfigDataInitNoMaterialShaderService$Wonderjs = require("./sender/uniform/HandleUniformConfigDataInitNoMaterialShaderService.js");
var HandleAttributeConfigDataInitNoMaterialShaderService$Wonderjs = require("./sender/attribute/HandleAttributeConfigDataInitNoMaterialShaderService.js");
function _createProgramAndInit(gl, shaderIndex, param, programRecord) {
return AllProgramService$Wonderjs.initShader(param[0], param[1], gl, AllProgramService$Wonderjs.registerProgram(shaderIndex, programRecord, gl.createProgram()));
}
function init(param, state) {
var shaderRecord = state[/* shaderRecord */1];
var shaderLibDataArr = param[1];
var gl = param[0];
var shaderIndex = ShaderIndexAllShaderService$Wonderjs.genereateShaderIndex(shaderRecord);
NoMaterialShaderIndexAllShaderService$Wonderjs.setShaderIndex(param[2], shaderIndex, shaderRecord);
var match = BuildShaderSourceInitShaderAllService$Wonderjs.buildGLSLSource(shaderLibDataArr, HandleGLSLInitNoMaterialShaderService$Wonderjs.getHandle, /* tuple */[
state[/* glslRecord */3],
state[/* glslChunkRecord */6]
]);
var program = _createProgramAndInit(gl, shaderIndex, /* tuple */[
match[0],
match[1]
], state[/* programRecord */2]);
var recordTuple = HandleAttributeConfigDataInitNoMaterialShaderService$Wonderjs.addAttributeSendData(/* tuple */[
gl,
shaderIndex,
program
], shaderLibDataArr, /* tuple */[
state[/* glslSenderRecord */4],
state[/* glslLocationRecord */5]
]);
HandleUniformConfigDataInitNoMaterialShaderService$Wonderjs.addUniformSendData(gl, /* tuple */[
program,
shaderIndex,
shaderLibDataArr
], recordTuple);
return shaderIndex;
}
exports._createProgramAndInit = _createProgramAndInit;
exports.init = init;
/* AllProgramService-Wonderjs Not a pure module */