栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在模型上重复纹理

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在模型上重复纹理

将纹理应用于模型的方式取决于模型中每个顶点的UV值。

如果考虑立方体的一个平面-它是由4个顶点组成的矩形。如果顶点的UV值像::

(0,0), (1,0), (1,1),(0,1)
那么整个纹理将在整个平面上渲染一次(如现在一样)。

您需要将某些UV值更改为4而不是1-您应该使用类似方法

(0,0), (1,0), (1,4), (0,4)
-这样,您的纹理将重复4次。

不幸的是,我不知道如何更改Libgdx中的UV,也许其他人会在这里提供帮助。


编辑评论中的问题:

您知道渲染的每个顶点都有自己的3D位置矢量,该矢量由

x,y,z
组件组成。这表示3D空间中的位置。

如果要添加纹理,则需要告诉顶点在纹理的哪个点。您可以定义一些2D向量来表示纹理中的一个点(您也可以使用3D纹理,但现在让我们继续使用2D示例)。

您也可以命名您的纹理矢量分量

x,y
,但是为了避免与位置数据混淆,有人决定将它们称为它们
u,v
(在数学中,经常这样做,即使您存储相同类型的数据,也使得某些方程式更易于阅读和理解。理解)。这些向量称为
texturecoordinates
UVs
简称。

现在,想象一下您的纹理在您的面前,它的一个角在

(0,0)
,相反的在在
(1,1)
。取一个三角形的3个顶点,对于每个顶点,取其UV,并在纹理上标记该点。然后,当您连接所有三个点时,您将获得与渲染相同的三角形。

但是,如果您的UV成分之一大于

1
或小于
0
?为了简单起见,我们可以说GPU将采用相同的纹理并在原始纹理之后复制它(它不能完全以这种方式工作,但结果是相同的)。这回答了有关
4
数字的问题-
如果我们使用纹理坐标,
(1,4)
就意味着我们要从原点移动4 * textureHeight,这样您的纹理将重复4次。

我认为目前您应该找到一种将UV添加到顶点的方法,并对此进行一些试验。尝试将0、0.1、1、10等设置为纹理坐标,然后看它能给您带来什么。这样,您应该对UV的工作原理有一些基本的了解。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/428603.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号