gpt4 book ai didi

android - 在六边形上映射纹理

转载 作者:行者123 更新时间:2023-11-29 22:24:44 25 4
gpt4 key购买 nike

我正在尝试将纹理映射到六边形上,但无法计算出纹理坐标。

These are my vertices:
private float vertices[] = { 0.0f, 0.0f, 0.0f, //center
0.0f, 1.0f, 0.0f, // top
-1.0f, 0.5f, 0.0f, // left top
-1.0f, -0.5f, 0.0f, // left bottom
0.0f, -1.0f, 0.0f, // bottom
1.0f, -0.5f, 0.0f, // right bottom
1.0f, 0.5f, 0.0f}; // right top

六边形的“底部”是垂直的。 (主要是因为我懒得弄清楚如何旋转该死的东西 XD)现在的问题是,我不知道如何计算纹理坐标。我已经在网上查看了所有内容,但仍然没有成功。

如果有人能向我解释如何找出纹理坐标,我将不胜感激,因为除了为一个简单的正方形制作纹理外,恐怕我无法弄清楚。

注意:它是一个“方形”六边形,因此不是基于圆形。编辑:六边形是使用 LG_TRIANGLE_STRIP 绘制的。

问题解决了。我现在明白如何计算这些坐标了。以下是对我有用的:

private float texture[] = {     0.5f, 0.5f,
0.5f, 0.0f,
0.0f, 0.25f,
0.0f, 0.75f,
0.5f, 1.0f,
1.0f, 0.75f,
1.0f, 0.25f };

最佳答案

纹理坐标的工作原理几乎类似于从 0.0 到 1.0 的百分比,其中 (0.0, 0.0) 位于左下角。如果您的纹理图像是 128 x 128 像素,则点 (0.25, 0.25) 将从左侧和底部开始 32 像素。使用您已有的东西,如果您试图将六边形精确地刻在方形纹理图形内,您的坐标应如下所示:

private float textureCoords = { 0.5f, 0.5f,
0.5f, 0.0f,
0.0f, 0.25f,
0.0f, 0.75f,
0.5f, 0.0f,
1.0f, 0.75f,
1.0f, 0.25f };

如果我没记错的话,您还希望图像垂直翻转。

关于android - 在六边形上映射纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6256595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com