UNPKG

wonder.js

Version:
41 lines (35 loc) 1.86 kB
'use strict'; var Caml_int32 = require("bs-platform/lib/js/caml_int32.js"); var Worker$Wonderjs = require("../../../../external/Worker.js"); var OptionService$Wonderjs = require("../../../atom/OptionService.js"); var BufferSettingService$Wonderjs = require("../../../record/main/setting/BufferSettingService.js"); var RenderObjectBufferTypeArrayService$Wonderjs = require("../../../record/main/render/RenderObjectBufferTypeArrayService.js"); var CreateTypeArrayAllRenderObjectService$Wonderjs = require("../../../record/all/renderObject/CreateTypeArrayAllRenderObjectService.js"); function getRecord(param) { return OptionService$Wonderjs.unsafeGet(param[/* lightRenderObjectRecord */1]); } function _initBufferData(count) { var buffer = Worker$Wonderjs.newSharedArrayBuffer(Caml_int32.imul(count, Caml_int32.imul(Uint32Array.BYTES_PER_ELEMENT, Caml_int32.imul(RenderObjectBufferTypeArrayService$Wonderjs.getComponentSize(/* () */0), 5)))); return /* tuple */[ buffer, CreateTypeArrayAllRenderObjectService$Wonderjs.setAllTypeArrDataToDefault(count, CreateTypeArrayAllRenderObjectService$Wonderjs.createTypeArrays(buffer, count)) ]; } function create(state) { var lightMaterialCount = BufferSettingService$Wonderjs.getLightMaterialCount(state[/* settingRecord */0]); var match = _initBufferData(lightMaterialCount); var match$1 = match[1]; return /* record */[ /* buffer */match[0], /* renderIndexArray : array */[], /* transformIndices */match$1[0], /* materialIndices */match$1[1], /* meshRendererIndices */match$1[2], /* geometryIndices */match$1[3], /* sourceInstanceIndices */match$1[4] ]; } exports.getRecord = getRecord; exports._initBufferData = _initBufferData; exports.create = create; /* Worker-Wonderjs Not a pure module */