首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >svg数据在canvg translate上显示纹理错误

svg数据在canvg translate上显示纹理错误
EN

Stack Overflow用户
提问于 2014-08-03 06:12:08
回答 1查看 288关注 0票数 0

当animate()循环开始时,我得到了错误:

代码语言:javascript
复制
"NetworkError: 404 Not Found - http://127.0.0.1:8080/threejs_1/%5Bobject%20Object%5D

并且不确定threejs在服务器上寻找什么。svg数据开始:

代码语言:javascript
复制
<svg style="width: 512px; height: 512px;" id="ext-gen2256" height="512" width="512"
version="1.1" xmlns="http://www.w3.org/2000/svg"><defs></defs><rect id="ext-gen2257"
opacity="0" stroke="none" fill="#000" height="100%" width="100%"></rect><path
transform="matrix(1,0,0, ... </svg>

var SvgData = Ext.DomQuery.selectNode('svg', 'div11').parentNode.innerHTML;
var imageCanvas22 = document.createElement("canvas");
canvg(imageCanvas22, SvgData);
var texture33 = new THREE.Texture(imageCanvas22);
texture33.needsUpdate = true;
map = THREE3.ImageUtils.loadTexture( texture33 ); // is this correct usage ???
// map = THREE3.ImageUtils.loadTexture( "textures/teechart-bar2.png" ); // works
map.wrapS = map.wrapT = THREE3.RepeatWrapping;
map.repeat.set( 16, 16 );
var planeGeo = new THREE3.PlaneGeometry( 200, 200 );
ground = new THREE3.Mesh( planeGeo, new THREE3.MeshPhongMaterial( { color: 0xffffff,   ambient: 0xffffff, specular: 0x111111, shininess: 50, map: map, perPixel: true, metal: true } ) );
ground.rotation.x = -Math.PI/2;
scene.add( ground );

在检查时,纹理看起来很好,贴图看起来也不错。不知道从哪里开始做这个。场景可以正常渲染和工作,但地面没有应用任何纹理。当纹理从文件中加载时,一切都正常工作。发布完整的svg会有帮助吗?

EN

回答 1

Stack Overflow用户

发布于 2014-08-03 15:53:20

从这里修复这个问题

https://github.com/mrdoob/three.js/issues/1305

这不是正确的用法:

代码语言:javascript
复制
// map = THREE3.ImageUtils.loadTexture( texture33 );
map =  texture33 ;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25099871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档