UNPKG

wonder.js

Version:
77 lines (70 loc) 3.65 kB
'use strict'; var Curry = require("bs-platform/lib/js/curry.js"); var Log$WonderLog = require("wonder-log/lib/js/src/Log.js"); var Contract$WonderLog = require("wonder-log/lib/js/src/Contract.js"); var ArrayService$Wonderjs = require("../../../../../atom/ArrayService.js"); var StateDataMain$Wonderjs = require("../../../../main/data/StateDataMain.js"); var IsDebugMainService$Wonderjs = require("../../../../main/state/IsDebugMainService.js"); var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js"); var DisposeMaterialService$Wonderjs = require("../../../../../record/main/material/DisposeMaterialService.js"); var JudgeAllInstanceService$Wonderjs = require("../../../../../record/all/instance/JudgeAllInstanceService.js"); var GetDataRenderConfigService$Wonderjs = require("../../../../../record/all/renderConfig/GetDataRenderConfigService.js"); function _initMaterialShader(gl, param, param$1, param$2) { var state = param$2[2]; var renderConfigRecord = param$2[1]; var materialIndex = param[0]; var shaders = GetDataRenderConfigService$Wonderjs.getShaders(renderConfigRecord); param$1[2](materialIndex, Curry._4(param$1[0], materialIndex, /* tuple */[ gl, param$1[4](materialIndex, /* tuple */[ param[1], param[2] ], /* tuple */[ shaders, Curry._1(param$1[3], shaders), GetDataRenderConfigService$Wonderjs.getShaderLibs(renderConfigRecord) ], state) ], param$1[1], state), param$2[0]); return state; } var initMaterial = _initMaterialShader; function reInitMaterial(gl, param, param$1, param$2) { var state = param$2[2]; var renderConfigRecord = param$2[1]; var materialIndex = param[0]; var shaders = GetDataRenderConfigService$Wonderjs.getShaders(renderConfigRecord); param$1[2](materialIndex, Curry._4(param$1[0], materialIndex, /* tuple */[ gl, param$1[4](materialIndex, /* tuple */[ param[1], param[2] ], /* tuple */[ shaders, Curry._1(param$1[3], shaders), GetDataRenderConfigService$Wonderjs.getShaderLibs(renderConfigRecord) ], state) ], param$1[1], state), param$2[0]); return state; } function init(gl, param, initMaterialFunc, param$1) { var disposedIndexArray = param$1[1]; var isSupportInstance = param[1]; var isSourceInstanceMap = param[0]; Contract$WonderLog.requireCheck((function (param) { return Contract$WonderLog.test(Log$WonderLog.buildAssertMessage("not dispose any material before init", "do"), (function (param) { return Contract$WonderLog.assertTrue(DisposeMaterialService$Wonderjs.isNotDisposed(disposedIndexArray)); })); }), IsDebugMainService$Wonderjs.getIsDebug(StateDataMain$Wonderjs.stateData)); return ArrayService$WonderCommonlib.reduceOneParam((function (state, materialIndex) { return initMaterialFunc(gl, /* tuple */[ materialIndex, JudgeAllInstanceService$Wonderjs.unsafeGetIsSourceInstance(materialIndex, isSourceInstanceMap), isSupportInstance ], state); }), param$1[2], ArrayService$Wonderjs.range(0, param$1[0] - 1 | 0)); } exports._initMaterialShader = _initMaterialShader; exports.initMaterial = initMaterial; exports.reInitMaterial = reInitMaterial; exports.init = init; /* Log-WonderLog Not a pure module */