@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
75 lines (61 loc) • 1.76 kB
JavaScript
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;
}
}