UNPKG

mdx-m3-viewer

Version:

A browser WebGL model viewer. Mainly focused on models of the games Warcraft 3 and Starcraft 2.

38 lines (33 loc) 914 B
/** * A group of batches that are going to be rendered together. */ export default class BatchGroup { /** * @param {ModelView} modelView * @param {?Array<Batch>} batches */ constructor(modelView, batches) { /** @member {ModelView} */ this.modelView = modelView; /** @member {Array<Batch>} */ this.objects = []; if (batches) { this.objects.push(...batches); } } /** * @param {ModelViewData} modelViewData */ render(modelViewData) { let model = this.modelView.model; let viewer = model.viewer; let batches = this.objects; let scene = modelViewData.scene; let buckets = modelViewData.buckets; let shader = viewer.shaderMap.get('MdxStandardShader'); viewer.webgl.useShaderProgram(shader); for (let i = 0, l = modelViewData.usedBuckets; i < l; i++) { model.renderBatches(buckets[i], scene, batches, shader); } } }