UNPKG

wonder.js

Version:
47 lines (42 loc) 3.08 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 InitInitLightMaterialService$Wonderjs = require("../../../../service/state/init_shader/init_material/init_lightMaterial/material/InitInitLightMaterialService.js"); var InitMaterialRenderWorkerJobUtils$Wonderjs = require("./utils/InitMaterialRenderWorkerJobUtils.js"); var CreateTypeArrayAllLightMaterialService$Wonderjs = require("../../../../service/record/all/material/light/CreateTypeArrayAllLightMaterialService.js"); var RecordLightMaterialRenderWorkerService$Wonderjs = require("../../../../service/state/render_worker/material/light/RecordLightMaterialRenderWorkerService.js"); var CreateInitLightMaterialStateRenderWorkerService$Wonderjs = require("../../../../service/state/render_worker/material/light/CreateInitLightMaterialStateRenderWorkerService.js"); function _createTypeArrays(buffer, lightMaterialCount, state) { var match = CreateTypeArrayAllLightMaterialService$Wonderjs.createTypeArrays(buffer, lightMaterialCount); var lightMaterialRecord = RecordLightMaterialRenderWorkerService$Wonderjs.getRecord(state); state[/* lightMaterialRecord */13] = /* record */[ /* shaderIndices */Caml_option.some(match[0]), /* diffuseColors */Caml_option.some(match[1]), /* specularColors */Caml_option.some(match[2]), /* shininess */Caml_option.some(match[3]), /* diffuseTextureIndices */Caml_option.some(match[4]), /* specularTextureIndices */Caml_option.some(match[5]), /* index */lightMaterialRecord[/* index */6], /* disposedIndexArray */lightMaterialRecord[/* disposedIndexArray */7], /* isSourceInstanceMap */lightMaterialRecord[/* isSourceInstanceMap */8] ]; 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 lightMaterialData = data.lightMaterialData; var lightMaterialCount = data.bufferData.lightMaterialCount; StateRenderWorkerService$Wonderjs.setState(stateData, InitMaterialRenderWorkerJobUtils$Wonderjs.initMaterials(/* tuple */[ CreateInitLightMaterialStateRenderWorkerService$Wonderjs.createInitMaterialState, InitInitLightMaterialService$Wonderjs.init ], RecordLightMaterialRenderWorkerService$Wonderjs.getRecord(state)[/* isSourceInstanceMap */8], _createTypeArrays(lightMaterialData.buffer, lightMaterialCount, state))); return e; })); } exports._createTypeArrays = _createTypeArrays; exports.execJob = execJob; /* MostUtils-Wonderjs Not a pure module */