Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
luan007 committed Dec 14, 2019
1 parent a8ba835 commit 380db4d
Show file tree
Hide file tree
Showing 6 changed files with 99 additions and 12 deletions.
8 changes: 4 additions & 4 deletions extra/particles.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ export function particleModifier(update, active_stages, params) {
return {
update: update,
stages: active_stages,
params: {},
params: params,
disabled: false
};
}
Expand Down Expand Up @@ -176,7 +176,7 @@ export function particleSpawn(arr, modifiers, extended) {
export function particleFixedAllocate(modifiers, extended, count) {
var arr = [];
arr.spots = arr.spots || [];
for (var i = 0; i <= count; i++) {
for (var i = 0; i < count; i++) {
let p = particleSpawn(arr, modifiers, extended);
p.p[0] = 0; //ao.rrand(-20, 20);
p.p[1] = 0; //ao.rrand(-20, 20);
Expand All @@ -185,10 +185,10 @@ export function particleFixedAllocate(modifiers, extended, count) {
p.life = 0;
p.empty = true;
}
for(var i = 0; i <= count; i++) {
for (var i = 0; i < count; i++) {
arr.spots.push(i);
}
//lock now
arr.fixed = true;
return arr;
}
}
2 changes: 1 addition & 1 deletion patched/three-instanced-mesh/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -400,7 +400,7 @@ module.exports = function (THREE) {
}

attribute.dynamic = this._dynamic
this.geometry.setAttribute(name, attribute)
this.geometry.addAttribute(name, attribute)
})

};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ module.exports = [
'#if defined(INSTANCE_COLOR)',

'diffuseColor.rgb *= vInstanceColor;',

'#ifdef PHYSICAL',
'totalEmissiveRadiance.rgb *= vInstanceColor2;',
'#endif',
'#endif'

].join("\n")
34 changes: 33 additions & 1 deletion three-common.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,36 @@ import "three/examples/js/postprocessing/SSAOPass.js";
import "three/examples/js/postprocessing/SAOPass.js";
import "three/examples/js/postprocessing/SMAAPass.js";
import "three/examples/js/postprocessing/BloomPass.js";
import "three/examples/js/postprocessing/UnrealBloomPass.js";
import "three/examples/js/postprocessing/UnrealBloomPass.js";



import "three/examples/js/postprocessing/EffectComposer";
import "three/examples/js/shaders/CopyShader";
import "three/examples/js/shaders/LuminosityHighPassShader";
import "three/examples/js/shaders/ColorCorrectionShader";
import "three/examples/js/shaders/UnpackDepthRGBAShader";
import "three/examples/js/shaders/DepthLimitedBlurShader";
import "three/examples/js/shaders/SAOShader";
import "three/examples/js/shaders/FilmShader";
import "three/examples/js/shaders/FXAAShader";
import "three/examples/js/shaders/SMAAShader";
import "three/examples/js/shaders/SSAOShader";
import "three/examples/js/shaders/RGBShiftShader";
import "three/examples/js/shaders/VerticalTiltShiftShader";
import "three/examples/js/shaders/HorizontalTiltShiftShader";
import "three/examples/js/postprocessing/SavePass";
import "three/examples/js/postprocessing/ShaderPass";
import "three/examples/js/postprocessing/MaskPass";
import "three/examples/js/postprocessing/RenderPass";
import "three/examples/js/postprocessing/SMAAPass";
import "three/examples/js/postprocessing/FilmPass";
import "three/examples/js/postprocessing/SSAOPass";
import "three/examples/js/postprocessing/SAOPass";
import "three/examples/js/postprocessing/ClearPass";
import "three/examples/js/postprocessing/UnrealBloomPass";


import "three/examples/js/loaders/HDRCubeTextureLoader";
import "three/examples/js/pmrem/PMREMGenerator";
import "three/examples/js/pmrem/PMREMCubeUVPacker";
4 changes: 2 additions & 2 deletions three-helper.js
Original file line number Diff line number Diff line change
Expand Up @@ -76,9 +76,9 @@ export function threeCurrentCamera() {
return _cache.camera;
}

export function threeOrbitControl(options) {
export function threeOrbitControl(dom, options) {
options = options || _cache;
var controls = new THREE.OrbitControls(options.camera);
var controls = new THREE.OrbitControls(options.camera, dom || document.body);
controls.update();
_cache.controls = controls;
options.camera.position.set(options.x || 0, options.y || 0, options.z || 100);
Expand Down
59 changes: 56 additions & 3 deletions three-loader.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ export function threeLoadDraco(file, key, draco_path) {
);
}

export function threeLoadCubemap(file, renderer, key, resolution) {
export function threeLoadCubemap(file, renderer, key, _resolution) {
loaded = false;
var env_loader = new THREE.TextureLoader();
env_loader.load(file, (res) => {
Expand All @@ -66,9 +66,9 @@ export function threeLoadCubemap(file, renderer, key, resolution) {
minFilter: THREE.LinearMipMapLinearFilter,
magFilter: THREE.LinearFilter
};
var resolution = 1024;
var resolution = _resolution || 1024;
var cubeMap = new THREE.WebGLRenderTargetCube(resolution, resolution, options).fromEquirectangularTexture(renderer, res);
threeResources[key] = cubeMap;
threeResources[key] = cubeMap.texture;
});
}

Expand Down Expand Up @@ -118,4 +118,57 @@ export function threeOnProgress(cb) {
}
cb();
};
}



export function threeLoadHDR_PMREM(key, renderer, path, urls) {
loaded = false;
urls = urls || ['px.hdr', 'nx.hdr', 'py.hdr', 'ny.hdr', 'pz.hdr', 'nz.hdr'];
var hdrCubeMap = new THREE.HDRCubeTextureLoader()
.setPath(path)
.setDataType(THREE.UnsignedByteType)
.load(urls, function () {
var pmremGenerator = new THREE.PMREMGenerator(hdrCubeMap);
pmremGenerator.update(renderer);

var pmremCubeUVPacker = new THREE.PMREMCubeUVPacker(pmremGenerator.cubeLods);
pmremCubeUVPacker.update(renderer);

var hdrCubeRenderTarget = pmremCubeUVPacker.CubeUVRenderTarget;
console.log(hdrCubeRenderTarget);

hdrCubeMap.magFilter = THREE.LinearFilter;
hdrCubeMap.needsUpdate = true;

pmremGenerator.dispose();
pmremCubeUVPacker.dispose();
threeResources[key] = hdrCubeRenderTarget.texture;
threeResources[key + "_cube"] = hdrCubeMap;
});
}


export function threeLoadLDR_PMREM(key, renderer, path, urls) {
loaded = false;
urls = urls || ['px.png', 'nx.png', 'py.png', 'ny.png', 'pz.png', 'nz.png'];
var ldrCubeMap = new THREE.CubeTextureLoader()
.setPath(path)
.load(urls, function () {
var pmremGenerator = new THREE.PMREMGenerator(ldrCubeMap);
pmremGenerator.update(renderer);

var pmremCubeUVPacker = new THREE.PMREMCubeUVPacker(pmremGenerator.cubeLods);
pmremCubeUVPacker.update(renderer);

var target = pmremCubeUVPacker.CubeUVRenderTarget;

ldrCubeMap.magFilter = THREE.LinearFilter;
ldrCubeMap.needsUpdate = true;

pmremGenerator.dispose();
pmremCubeUVPacker.dispose();
threeResources[key] = target.texture;
threeResources[key + "_cube"] = ldrCubeMap;
});
}

0 comments on commit 380db4d

Please sign in to comment.