1
我發現瀰漫,鏡面反射和法線貼圖這個例子:three.js所平鋪
var ambient = 0x111111, diffuse = 0xbbbbbb, specular = 0x060606, shininess = 35;
var shader = THREE.ShaderLib[ "normalmap" ];
var uniforms = THREE.UniformsUtils.clone(shader.uniforms);
uniforms[ "tNormal" ].value = THREE.ImageUtils.loadTexture("textures/test_NRM.jpg");
uniforms[ "uNormalScale" ].value.set(2, 2);
uniforms[ "tDiffuse" ].value = THREE.ImageUtils.loadTexture("textures/test_COL.jpg");
uniforms[ "tSpecular" ].value = THREE.ImageUtils.loadTexture("textures/test_SPEC.jpg");
uniforms[ "enableAO" ].value = false;
uniforms[ "enableDiffuse" ].value = true;
uniforms[ "enableSpecular" ].value = true;
uniforms[ "uDiffuseColor" ].value.setHex(diffuse);
uniforms[ "uSpecularColor" ].value.setHex(specular);
uniforms[ "uAmbientColor" ].value.setHex(ambient);
uniforms[ "uShininess" ].value = shininess;
uniforms[ "wrapRGB" ].value.set(1, 1,1);
var parameters = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShader, uniforms: uniforms, lights: true };
var material = new THREE.ShaderMaterial(parameters);
material.wrapAround = true;
loader = new THREE.JSONLoader(true);
document.body.appendChild(loader.statusDomElement);
loader.load("geo/sphere.js", function(geometry) { createScene(geometry, 100, material) });
renderer = new THREE.WebGLRenderer({ antialias: false, clearColor: 0x111111, clearAlpha: 1 });
renderer.setSize(window.innerWidth, window.innerHeight);
container.appendChild(renderer.domElement);
現在我看到顯示在我的球紋理,但只有一次。我需要更多的貼圖顯示紋理和我插入:
tNormal.wrapS = THREE.RepeatWrapping;
tNormal.wrapT = THREE.RepeatWrapping;
tNormal.repeat.x=100;
tNormal.repeat.y=100;
但它沒有工作,有沒有人有線索?
問候
我已經嘗試過,但像之前幾何消失,我什麼都看不到。也許我必須用另一個術語代替「tNormal」? – user2524500