在過去一天左右,我一直在學習ThreeJS,但是我正在與着色器苦苦掙扎。Three.js - 應用着色器模糊幾何
我想模糊幾何我有。我嘗試使用Depth Of Field與Three.js網站上找到的示例,但它使我的前景對象也有點模糊。所以我希望挑選出一個對象,然後模糊它。
現在我有我有LambertMaterial創建基本上像這樣的網格:
var material = new THREE.MeshLambertMaterial({
color: 0x5c5c5c,
emissive: 0x000000,
shading: THREE.FlatShading,
transparent: true,
opacity: 1
});
var mesh = new THREE.Mesh(geometryJson, material);
scene.add(mesh);
然後我發現2個着色在線(一個用於verticle模糊,一個用於水平模糊)。但是,如何在保留上述顏色設置的同時應用它們?
我試圖用一個ShaderMaterial這樣的:
var material = new THREE.ShaderMaterial({
uniforms: THREE.UniformsUtils.clone(HorizontalBlurShader.uniforms),
vertexShader: HorizontalBlurShader.vertexShader,
fragmentShader: HorizontalBlurShader.fragmentShader
});
,它工作(現在我出口我與UV的模型) - 但是並不如預期。
我的模型現在呈現半透明,取決於臉部的角度而不是模糊它。我如何使着色器模糊對象,使用正確的顏色作爲原始材質並同時使用垂直着色器?
使用相應的three.js着色器,如示例http://threejs.org/examples/#webgl_postprocessing_advanced – gaitat
試圖添加着色器,但無法讓它工作。看看我的小提琴 - http://jsfiddle.net/VsWb9/3942/ –
你的jsfiddle在請求一個js資源時會得到一個404。 (RequestAnimationFrame.js) –