首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在three.js中使用ShaderMaterials重复纹理

在three.js中使用ShaderMaterials重复纹理
EN

Stack Overflow用户
提问于 2013-07-03 21:38:25
回答 1查看 2K关注 0票数 2

我有一个统一纹理和重复它们的问题,因为:

代码语言:javascript
运行
复制
tex.wrapS = THREE.RepeatWrapping;
tex.wrapT = THREE.RepeatWrapping;
tex.repeat.x=100;
tex.repeat.y=100;

它不起作用。所以我在网上搜索了一个解决方案,我在giuthub上找到了下面的帖子:https://github.com/mrdoob/three.js/issues/787线程启动器和我有同样的问题,但不幸的是答案的链接不再起作用了。

当我想要重复我的统一纹理时,我必须做什么?

EN

回答 1

Stack Overflow用户

发布于 2013-07-04 03:19:09

您是否正在编写自己的片段着色器?如果是这样,则需要将UV坐标乘以重复值,例如

代码语言:javascript
运行
复制
uniform sampler2D baseTexture;
varying vec2 vUv;

void main() 
{
    gl_FragColor = texture2D( baseTexture, vUv * 100 );     
}

如果不是,则http://stemkoski.github.io/Three.js/Texture-Repeat.html包含纹理重复的示例,例如

代码语言:javascript
运行
复制
// texture repeated twice in each direction
var lavaTexture = THREE.ImageUtils.loadTexture( 'images/lava.jpg' );
lavaTexture.wrapS = lavaTexture.wrapT = THREE.RepeatWrapping;
lavaTexture.repeat.set( 2, 2 );
var lavaMaterial = new THREE.MeshBasicMaterial( { map: lavaTexture } ); 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17449566

复制
相关文章

相似问题

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