UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

75 lines (61 loc) 1.76 kB
const DEFAULT_FLAGS = 0; /** * @deprecated new syntax does not require a separate data structure, use lambda functions instead * @template [DATA=Object<number>] * @class */ export class RenderPass { /** * Used for debug and visualisation * @type {string} */ name = "Render Pass"; /** * * @type {number|RenderPassFlags} */ flags = DEFAULT_FLAGS; /** * Arbitrary dictionary of data * @deprecated * @type {Object<number>} */ inputs = {}; /** * * @param [inputs] */ constructor(inputs ) { if(inputs !== undefined){ console.warn("Default inputs are deprecated, please use class fields instead"); this.inputs = inputs; } } /** * * @param {RenderGraphBuilder} builder * @returns {DATA} resources/handles that are used by the pass, includes both inputs and outputs */ setup(builder) { throw new Error('Not Implemented'); } /** * @param {DATA} data * @param {RenderPassResources} resources * @param {IRenderContext} render_context * @returns {void} */ execute(data, resources, render_context) { throw new Error('Not Implemented'); } /** * Validate render pass internal structure * This is an optional method, mainly useful for debugging purposes * Default behaviour is to report pass as "valid" (true) * @param {function(problem:string)} problem_consumer when returning false, reasons are supplied here * @return {boolean} true for valid, false for invalid */ validate(problem_consumer) { return true; } }