渲染器。

This commit is contained in:
liteng 2018-12-29 22:01:01 +08:00
parent c46ad8da80
commit 10d45f4e4d
4 changed files with 199 additions and 0 deletions

View File

@ -261,6 +261,126 @@ const PackageList = [{
assets: [
'assets/js/libs/pako.js'
]
}, {
name: 'NormalMapShader',
assets: [
'assets/js/shaders/NormalMapShader.js'
]
}, {
name: 'FXAAShader',
assets: [
'assets/js/shaders/FXAAShader.js'
]
}, {
name: 'DotScreenShader',
assets: [
'assets/js/shaders/DotScreenShader.js'
]
}, {
name: 'RGBShiftShader',
assets: [
'assets/js/shaders/RGBShiftShader.js'
]
}, {
name: 'AfterimageShader',
assets: [
'assets/js/shaders/AfterimageShader.js'
]
}, {
name: 'BokehShader',
assets: [
'assets/js/shaders/BokehShader.js'
]
}, {
name: 'DigitalGlitch',
assets: [
'assets/js/shaders/DigitalGlitch.js'
]
}, {
name: 'HalftoneShader',
assets: [
'assets/js/shaders/HalftoneShader.js'
]
}, {
name: 'DepthLimitedBlurShader',
assets: [
'assets/js/shaders/DepthLimitedBlurShader.js'
]
}, {
name: 'UnpackDepthRGBAShader',
assets: [
'assets/js/shaders/UnpackDepthRGBAShader.js'
]
}, {
name: 'PixelShader',
assets: [
'assets/js/shaders/PixelShader.js'
]
}, {
name: 'SAOShader',
assets: [
'assets/js/shaders/SAOShader.js'
]
}, {
name: 'SMAAShader',
assets: [
'assets/js/shaders/SMAAShader.js'
]
}, {
name: 'SSAOShader',
assets: [
'assets/js/shaders/SSAOShader.js'
]
}, {
name: 'MaskPass',
assets: [
'assets/js/postprocessing/MaskPass.js'
]
}, {
name: 'AfterimagePass',
assets: [
'assets/js/postprocessing/AfterimagePass.js'
]
}, {
name: 'BokehPass',
assets: [
'assets/js/postprocessing/BokehPass.js'
]
}, {
name: 'GlitchPass',
assets: [
'assets/js/postprocessing/GlitchPass.js'
]
}, {
name: 'HalftonePass',
assets: [
'assets/js/postprocessing/HalftonePass.js'
]
}, {
name: 'SSAARenderPass',
assets: [
'assets/js/postprocessing/SSAARenderPass.js'
]
}, {
name: 'SAOPass',
assets: [
'assets/js/postprocessing/SAOPass.js'
]
}, {
name: 'SMAAPass',
assets: [
'assets/js/postprocessing/SMAAPass.js'
]
}, {
name: 'SSAOPass',
assets: [
'assets/js/postprocessing/SSAOPass.js'
]
}, {
name: 'TAARenderPass',
assets: [
'assets/js/postprocessing/TAARenderPass.js'
]
}];
export default PackageList

View File

@ -0,0 +1,25 @@
var ID = -1;
/**
* 基本渲染器
* @author tengge / https://github.com/tengge1
*/
function BaseRenderer() {
this.id = `${this.constructor.name}${ID--}`;
}
BaseRenderer.prototype.create = function () {
return new Promise(resolve => {
resolve();
});
};
BaseRenderer.prototype.render = function (scene, camera, renderer) {
};
BaseRenderer.prototype.dispose = function () {
};
export default BaseRenderer;

View File

@ -0,0 +1,27 @@
import BaseRenderer from './BaseRenderer';
/**
* 编辑器渲染器
*/
function EditorRenderer() {
BaseRenderer.call(this);
};
EditorRenderer.prototype = Object.create(BaseRenderer.prototype);
EditorRenderer.prototype.constructor = EditorRenderer;
EditorRenderer.prototype.create = function () {
return new Promise(resolve => {
resolve();
});
};
EditorRenderer.prototype.render = function (scene, camera, renderer) {
};
EditorRenderer.prototype.dispose = function () {
};
export default EditorRenderer;

View File

@ -0,0 +1,27 @@
import BaseRenderer from './BaseRenderer';
/**
* 特效渲染器
*/
function EffectRenderer() {
BaseRenderer.call(this);
};
EffectRenderer.prototype = Object.create(BaseRenderer.prototype);
EffectRenderer.prototype.constructor = EffectRenderer;
EffectRenderer.prototype.create = function () {
return new Promise(resolve => {
resolve();
});
};
EffectRenderer.prototype.render = function (scene, camera, renderer) {
};
EffectRenderer.prototype.dispose = function () {
};
export default EffectRenderer;