UNPKG

wonder.js

Version:
45 lines (40 loc) 2.95 kB
'use strict'; var Caml_option = require("bs-platform/lib/js/caml_option.js"); var MostUtils$Wonderjs = require("../../../../asset/utils/MostUtils.js"); var MessageService$Wonderjs = require("../../../../service/primitive/worker/MessageService.js"); var StateRenderWorkerService$Wonderjs = require("../../../../service/state/render_worker/state/StateRenderWorkerService.js"); var InitInitBasicMaterialService$Wonderjs = require("../../../../service/state/init_shader/init_material/init_basicMaterial/material/InitInitBasicMaterialService.js"); var InitMaterialRenderWorkerJobUtils$Wonderjs = require("./utils/InitMaterialRenderWorkerJobUtils.js"); var CreateTypeArrayAllBasicMaterialService$Wonderjs = require("../../../../service/record/all/material/basic/CreateTypeArrayAllBasicMaterialService.js"); var RecordBasicMaterialRenderWorkerService$Wonderjs = require("../../../../service/state/render_worker/material/basic/RecordBasicMaterialRenderWorkerService.js"); var CreateInitBasicMaterialStateRenderWorkerService$Wonderjs = require("../../../../service/state/render_worker/material/basic/CreateInitBasicMaterialStateRenderWorkerService.js"); function _createTypeArrays(buffer, basicMaterialCount, state) { var match = CreateTypeArrayAllBasicMaterialService$Wonderjs.createTypeArrays(buffer, basicMaterialCount); var basicMaterialRecord = RecordBasicMaterialRenderWorkerService$Wonderjs.getRecord(state); state[/* basicMaterialRecord */12] = /* record */[ /* shaderIndices */Caml_option.some(match[0]), /* colors */Caml_option.some(match[1]), /* isDepthTests */Caml_option.some(match[2]), /* alphas */Caml_option.some(match[3]), /* index */basicMaterialRecord[/* index */4], /* disposedIndexArray */basicMaterialRecord[/* disposedIndexArray */5], /* isSourceInstanceMap */basicMaterialRecord[/* isSourceInstanceMap */6] ]; return state; } function execJob(param, e, stateData) { return MostUtils$Wonderjs.callFunc((function (param) { var state = StateRenderWorkerService$Wonderjs.unsafeGetState(stateData); var data = MessageService$Wonderjs.getRecord(e); var basicMaterialData = data.basicMaterialData; var basicMaterialCount = data.bufferData.basicMaterialCount; StateRenderWorkerService$Wonderjs.setState(stateData, InitMaterialRenderWorkerJobUtils$Wonderjs.initMaterials(/* tuple */[ CreateInitBasicMaterialStateRenderWorkerService$Wonderjs.createInitMaterialState, InitInitBasicMaterialService$Wonderjs.init ], RecordBasicMaterialRenderWorkerService$Wonderjs.getRecord(state)[/* isSourceInstanceMap */6], _createTypeArrays(basicMaterialData.buffer, basicMaterialCount, state))); return e; })); } exports._createTypeArrays = _createTypeArrays; exports.execJob = execJob; /* MostUtils-Wonderjs Not a pure module */