Autodesk Forge 查看器使用 material 和图像纹理
Autodesk forge viewer using a material with a image texture
我需要有关使用带有图像纹理的 material 的帮助
使用 2.9 查看器文件。
我看到它使用 three.js
的修订版 71
我创建了一个自定义形状。顶点正方形
我想使用图像纹理material
var shininess = 50, specular = 0x333333, bumpScale = 1, shading = THREE.SmoothShading;
var imgTexture = THREE.ImageUtils.loadTexture( "textures/UV_Grid_Sm.jpg" );
imgTexture.wrapS = imgTexture.wrapT = THREE.RepeatWrapping;
imgTexture.anisotropy = 16;
var material = new THREE.MeshLambertMaterial( { map: imgTexture, color: 0xffffff, shading: shading } );
viewer.impl.matman().addMaterial("FloorMaterial", material, true);
...
// Convert Array to Vector Array and World Space
var vectorWorldArray = convertFloatArrayToVectorWorldArray(viewer,
matrixWorld, floatArray);
var shape = new THREE.Shape(vectorWorldArray);
var geometry = new THREE.ShapeGeometry(shape);
geometry.faces.push( new THREE.Face3( 0, 1, 2 ) );
geometry.faces.push( new THREE.Face3( 2, 3, 0 ) );
geometry.computeFaceNormals();
var mesh = new THREE.Mesh(geometry, material);
var scene = viewer.impl.scene;
// mesh.translateZ( 10 );
scene.add(mesh);
纹理显示为全黑
唯一出现在 chrome 中的东西(版本 52.0.2743.116 m)
[.Offscreen-For-WebGL-0B70AB98]渲染警告:没有纹理绑定到单元 0
我知道纹理存在
有没有easier/correcct添加图像纹理的方法material?
看起来 lambert 需要一盏灯,而不是观众自带的灯
我切换到使用 BasicMaterial,现在我的纹理出现了。
var material = new THREE.MeshBasicMaterial( { map: imgTexture, color: 0xffffff, shading: shading } );
我需要有关使用带有图像纹理的 material 的帮助 使用 2.9 查看器文件。 我看到它使用 three.js
的修订版 71我创建了一个自定义形状。顶点正方形
我想使用图像纹理material
var shininess = 50, specular = 0x333333, bumpScale = 1, shading = THREE.SmoothShading;
var imgTexture = THREE.ImageUtils.loadTexture( "textures/UV_Grid_Sm.jpg" );
imgTexture.wrapS = imgTexture.wrapT = THREE.RepeatWrapping;
imgTexture.anisotropy = 16;
var material = new THREE.MeshLambertMaterial( { map: imgTexture, color: 0xffffff, shading: shading } );
viewer.impl.matman().addMaterial("FloorMaterial", material, true);
...
// Convert Array to Vector Array and World Space
var vectorWorldArray = convertFloatArrayToVectorWorldArray(viewer,
matrixWorld, floatArray);
var shape = new THREE.Shape(vectorWorldArray);
var geometry = new THREE.ShapeGeometry(shape);
geometry.faces.push( new THREE.Face3( 0, 1, 2 ) );
geometry.faces.push( new THREE.Face3( 2, 3, 0 ) );
geometry.computeFaceNormals();
var mesh = new THREE.Mesh(geometry, material);
var scene = viewer.impl.scene;
// mesh.translateZ( 10 );
scene.add(mesh);
纹理显示为全黑
唯一出现在 chrome 中的东西(版本 52.0.2743.116 m) [.Offscreen-For-WebGL-0B70AB98]渲染警告:没有纹理绑定到单元 0
我知道纹理存在
有没有easier/correcct添加图像纹理的方法material?
看起来 lambert 需要一盏灯,而不是观众自带的灯
我切换到使用 BasicMaterial,现在我的纹理出现了。
var material = new THREE.MeshBasicMaterial( { map: imgTexture, color: 0xffffff, shading: shading } );