tofu.shaderprimer
Version:
tofu.shaderprimer — shader primer class =============
38 lines (30 loc) • 731 B
JavaScript
import {
PlaneBufferGeometry,
UniformsUtils,
ShaderMaterial,
} from 'three';
import { Primer } from 'tofu.js';
class ShaderPrimer extends Primer {
constructor(shader) {
/**
* geometry for this 2D context
* @member {PlaneBufferGeometry}
* @private
*/
const geo = new PlaneBufferGeometry(2, 2);
const uniforms = UniformsUtils.clone(shader.uniforms);
/**
* material for this 2D context
* @member {MeshBasicMaterial}
* @private
*/
const mat = new ShaderMaterial({
uniforms,
vertexShader: shader.vertexShader,
fragmentShader: shader.fragmentShader,
});
super(geo, mat, {});
this.uniforms = uniforms;
}
}
export { ShaderPrimer };