UNPKG

wonder.js

Version:
48 lines (43 loc) 2.48 kB
'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 */