wonder.js
Version:
41 lines (35 loc) • 1.86 kB
JavaScript
;
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 */