UNPKG

wonder.js

Version:
57 lines (53 loc) 3.56 kB
'use strict'; var RenderJobUtils$Wonderjs = require("../RenderJobUtils.js"); var DrawGLSLService$Wonderjs = require("../../../../service/record/all/sender/DrawGLSLService.js"); var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js"); var GeometryRenderService$Wonderjs = require("../../../../service/state/render/geometry/GeometryRenderService.js"); var AllGLSLLocationService$Wonderjs = require("../../../../service/record/all/location/AllGLSLLocationService.js"); var DrawModeMeshRendererService$Wonderjs = require("../../../../service/state/render/meshRenderer/DrawModeMeshRendererService.js"); var GetGeometryIndicesRenderService$Wonderjs = require("../../../../service/state/render/geometry/GetGeometryIndicesRenderService.js"); var ObjectInstanceCollectionService$Wonderjs = require("../../../../service/primitive/instance/ObjectInstanceCollectionService.js"); var HandleUniformRenderObjectModelService$Wonderjs = require("../../../../service/record/all/sender/uniform/HandleUniformRenderObjectModelService.js"); var CreateGetRenederDataSubStateRenderService$Wonderjs = require("../../../../service/state/render/sub/get_render_data/CreateGetRenederDataSubStateRenderService.js"); var BuildObjectInstanceTransformDataTupleUtils$Wonderjs = require("./BuildObjectInstanceTransformDataTupleUtils.js"); function render(gl, indexTuple, renderFunc, state) { var geometryIndex = indexTuple[4]; var meshRendererIndex = indexTuple[3]; var shaderIndex = indexTuple[2]; var state$1 = renderFunc(gl, /* tuple */[ indexTuple[0], indexTuple[1], shaderIndex, meshRendererIndex, geometryIndex ], state); RenderJobUtils$Wonderjs.draw(gl, DrawModeMeshRendererService$Wonderjs.getGlDrawMode(gl, meshRendererIndex, state$1), geometryIndex, state$1); var uniformRenderObjectSendModelData = HandleUniformRenderObjectModelService$Wonderjs.unsafeGetUniformSendData(shaderIndex, state$1[/* glslSenderRecord */3]); var drawMode = DrawModeMeshRendererService$Wonderjs.getGlDrawMode(gl, meshRendererIndex, state$1); var indexType = GeometryRenderService$Wonderjs.getIndexType(gl, geometryIndex, state$1); var indexTypeSize = GeometryRenderService$Wonderjs.getIndexTypeSize(gl, geometryIndex, state$1); var indicesCount = GetGeometryIndicesRenderService$Wonderjs.getIndicesCount(geometryIndex, state$1); var match = BuildObjectInstanceTransformDataTupleUtils$Wonderjs.build(indexTuple[5], state$1); var getRenderDataSubState = CreateGetRenederDataSubStateRenderService$Wonderjs.createState(state$1); ObjectInstanceCollectionService$Wonderjs.forEachObjectInstanceTransformCollection(match[1], (function (objectInstanceTransform) { ArrayService$WonderCommonlib.forEach((function (param) { var pos = param[/* pos */0]; var match = AllGLSLLocationService$Wonderjs.isUniformLocationExist(pos); if (match) { return param[/* sendDataFunc */2](gl, pos, param[/* getDataFunc */1](objectInstanceTransform, getRenderDataSubState)); } else { return /* () */0; } }), uniformRenderObjectSendModelData); DrawGLSLService$Wonderjs.drawElement(/* tuple */[ drawMode, indexType, indexTypeSize, indicesCount ], gl); return /* () */0; })); return state$1; } exports.render = render; /* RenderJobUtils-Wonderjs Not a pure module */