UNPKG

wonder.js

Version:
66 lines (60 loc) 4.35 kB
'use strict'; var RenderJobUtils$Wonderjs = require("./RenderJobUtils.js"); var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js"); var RenderBasicJobCommon$Wonderjs = require("../../common/render_basic/RenderBasicJobCommon.js"); var RenderObjectGlStateUtils$Wonderjs = require("./RenderObjectGlStateUtils.js"); var ShaderIndexRenderService$Wonderjs = require("../../../service/state/render/shader/ShaderIndexRenderService.js"); var DrawModeMeshRendererService$Wonderjs = require("../../../service/state/render/meshRenderer/DrawModeMeshRendererService.js"); var RenderBasicInstanceJobCommon$Wonderjs = require("../../common/render_basic/instance/RenderBasicInstanceJobCommon.js"); var OperateAllTextureRenderService$Wonderjs = require("../../../service/state/render/texture/allTexture/OperateAllTextureRenderService.js"); var RenderObjectBufferTypeArrayService$Wonderjs = require("../../../service/record/main/render/RenderObjectBufferTypeArrayService.js"); var ShaderIndexBasicMaterialRenderService$Wonderjs = require("../../../service/state/render/material/basic/ShaderIndexBasicMaterialRenderService.js"); var OperateTypeArrayAllBasicMaterialService$Wonderjs = require("../../../service/record/all/material/basic/OperateTypeArrayAllBasicMaterialService.js"); function _getShaderIndex(materialIndex, state) { return ShaderIndexRenderService$Wonderjs.getShaderIndex(materialIndex, ShaderIndexBasicMaterialRenderService$Wonderjs.getShaderIndex, state); } function _setRenderObjectGlState(gl, materialIndex, state) { RenderObjectGlStateUtils$Wonderjs.setRenderObjectGlState(gl, OperateTypeArrayAllBasicMaterialService$Wonderjs.getIsDepthTest(materialIndex, state[/* basicMaterialRecord */7][/* isDepthTests */2]), state[/* deviceManagerRecord */20]); return state; } function render(gl, param, state) { var sourceInstanceIndices = param[5]; var geometryIndices = param[4]; var meshRendererIndices = param[3]; var materialIndices = param[2]; var transformIndices = param[1]; return ArrayService$WonderCommonlib.reduceOneParam((function (state, index) { var state$1 = OperateAllTextureRenderService$Wonderjs.resetActivedTextureUnitIndex(state); var transformIndex = RenderObjectBufferTypeArrayService$Wonderjs.getComponent(index, transformIndices); var materialIndex = RenderObjectBufferTypeArrayService$Wonderjs.getComponent(index, materialIndices); var shaderIndex = ShaderIndexRenderService$Wonderjs.getShaderIndex(materialIndex, ShaderIndexBasicMaterialRenderService$Wonderjs.getShaderIndex, state$1); var meshRendererIndex = RenderObjectBufferTypeArrayService$Wonderjs.getComponent(index, meshRendererIndices); var geometryIndex = RenderObjectBufferTypeArrayService$Wonderjs.getComponent(index, geometryIndices); var sourceInstance = RenderObjectBufferTypeArrayService$Wonderjs.getComponent(index, sourceInstanceIndices); var state$2 = _setRenderObjectGlState(gl, materialIndex, state$1); if (RenderObjectBufferTypeArrayService$Wonderjs.hasSourceInstance(sourceInstance)) { return RenderBasicInstanceJobCommon$Wonderjs.render(gl, /* tuple */[ transformIndex, materialIndex, shaderIndex, meshRendererIndex, geometryIndex, sourceInstance ], state$2); } else { var state$3 = RenderBasicJobCommon$Wonderjs.render(gl, /* tuple */[ transformIndex, materialIndex, shaderIndex, meshRendererIndex, geometryIndex ], state$2); RenderJobUtils$Wonderjs.draw(gl, DrawModeMeshRendererService$Wonderjs.getGlDrawMode(gl, meshRendererIndex, state$3), geometryIndex, state$3); return state$3; } }), state, param[0]); } exports._getShaderIndex = _getShaderIndex; exports._setRenderObjectGlState = _setRenderObjectGlState; exports.render = render; /* RenderJobUtils-Wonderjs Not a pure module */