From 5080402c85d784357de6672cb9e97ceee2d3f4f3 Mon Sep 17 00:00:00 2001 From: casperlamboo Date: Mon, 6 Nov 2017 17:23:21 +0100 Subject: [PATCH] add render chain --- src/d3/RenderChain.js | 19 +++++++++++++++++++ src/d3/index.js | 3 ++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 src/d3/RenderChain.js diff --git a/src/d3/RenderChain.js b/src/d3/RenderChain.js new file mode 100644 index 0000000..b61d05f --- /dev/null +++ b/src/d3/RenderChain.js @@ -0,0 +1,19 @@ +export default class RenderChain { + constructor(renderer, scene, camera) { + this._renderer = renderer; + this._scene = scene; + this._camera = camera; + } + + setSize(width, height) { + this._renderer.setSize(width, height); + + // adjust aspect ratio of camera + this._camera.aspect = width / height; + this._camera.updateProjectionMatrix(); + } + + render() { + this._renderer.render(this._scene, this._camera); + } +} diff --git a/src/d3/index.js b/src/d3/index.js index 8e55fa6..c9895d4 100644 --- a/src/d3/index.js +++ b/src/d3/index.js @@ -1,7 +1,8 @@ import createSceneData from './createSceneData.js'; import createScene from './createScene.js'; +import RenderChain from './RenderChain.js'; import ToonShaderRenderChain from './ToonShaderRenderChain.js'; import ShapeMesh from './ShapeMesh.js'; import ShapesManager from './ShapesManager.js'; -export { createSceneData, createScene, ToonShaderRenderChain, ShapeMesh, ShapesManager }; +export { createSceneData, createScene, RenderChain, ToonShaderRenderChain, ShapeMesh, ShapesManager };