wonder.js
Version:
59 lines (53 loc) • 4.12 kB
JavaScript
'use strict';
var MostUtils$Wonderjs = require("../../../../asset/utils/MostUtils.js");
var MessageService$Wonderjs = require("../../../../service/primitive/worker/MessageService.js");
var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js");
var AllDeviceManagerService$Wonderjs = require("../../../../service/record/all/device/AllDeviceManagerService.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 InitInitLightMaterialService$Wonderjs = require("../../../../service/state/init_shader/init_material/init_lightMaterial/material/InitInitLightMaterialService.js");
var JudgeInstanceRenderWorkerService$Wonderjs = require("../../../../service/state/render_worker/instance/JudgeInstanceRenderWorkerService.js");
var RecordBasicMaterialRenderWorkerService$Wonderjs = require("../../../../service/state/render_worker/material/basic/RecordBasicMaterialRenderWorkerService.js");
var RecordLightMaterialRenderWorkerService$Wonderjs = require("../../../../service/state/render_worker/material/light/RecordLightMaterialRenderWorkerService.js");
var CreateInitBasicMaterialStateRenderWorkerService$Wonderjs = require("../../../../service/state/render_worker/material/basic/CreateInitBasicMaterialStateRenderWorkerService.js");
var CreateInitLightMaterialStateRenderWorkerService$Wonderjs = require("../../../../service/state/render_worker/material/light/CreateInitLightMaterialStateRenderWorkerService.js");
function _initBasicMaterials(gl, basicMaterialData, isSupportInstance, state) {
RecordBasicMaterialRenderWorkerService$Wonderjs.getRecord(state);
ArrayService$WonderCommonlib.reduceOneParam((function (initBasicMaterialState, param) {
return InitInitBasicMaterialService$Wonderjs.initMaterial(gl, /* tuple */[
param[0],
param[1],
isSupportInstance
], initBasicMaterialState);
}), CreateInitBasicMaterialStateRenderWorkerService$Wonderjs.createInitMaterialState(state), basicMaterialData.materialDataForWorkerInit);
return state;
}
function _initLightMaterials(gl, lightMaterialData, isSupportInstance, state) {
RecordLightMaterialRenderWorkerService$Wonderjs.getRecord(state);
ArrayService$WonderCommonlib.reduceOneParam((function (initLightMaterialState, param) {
return InitInitLightMaterialService$Wonderjs.initMaterial(gl, /* tuple */[
param[0],
param[1],
isSupportInstance
], initLightMaterialState);
}), CreateInitLightMaterialStateRenderWorkerService$Wonderjs.createInitMaterialState(state), lightMaterialData.materialDataForWorkerInit);
return state;
}
function execJob(flags, e, stateData) {
return MostUtils$Wonderjs.callFunc((function (param) {
var state = StateRenderWorkerService$Wonderjs.unsafeGetState(stateData);
var data = MessageService$Wonderjs.getRecord(e);
var initData = data.initData;
initData.materialData;
var basicMaterialData = data.initData.materialData.basicMaterialData;
var lightMaterialData = data.initData.materialData.lightMaterialData;
var gl = AllDeviceManagerService$Wonderjs.unsafeGetGl(state[/* deviceManagerRecord */4]);
var isSupportInstance = JudgeInstanceRenderWorkerService$Wonderjs.isSupportInstance(state);
StateRenderWorkerService$Wonderjs.setState(stateData, _initLightMaterials(gl, lightMaterialData, isSupportInstance, _initBasicMaterials(gl, basicMaterialData, isSupportInstance, state)));
return e;
}));
}
exports._initBasicMaterials = _initBasicMaterials;
exports._initLightMaterials = _initLightMaterials;
exports.execJob = execJob;
/* MostUtils-Wonderjs Not a pure module */