我希望能够基于对象(多维数据集)的比例大小动态地重复纹理。OpenGL 2.0根据对象大小调整纹理大小
我尝试过VerticesCube3D结构,但尝试更改值时发生崩溃。我有我的纹理上重复设置,但目前它横跨纹理(我需要动态改变TEX_COORD_MAX)
Vertex VerticesCube3D[] = {
// Front
{{1, -1, 0}, {1, 1, 1, 1}, {TEX_COORD_MAX, 0}},
{{1, 1, 0}, {1, 1, 1, 1}, {TEX_COORD_MAX, TEX_COORD_MAX}},
{{-1, 1, 0}, {1, 1, 1, 1}, {0, TEX_COORD_MAX}},
{{-1, -1, 0}, {1, 1, 1, 1}, {0, 0}},
// Back
{{1, 1, -2}, {1, 1, 1, 1}, {TEX_COORD_MAX, 0}},
{{-1, -1, -2}, {1, 1, 1, 1}, {TEX_COORD_MAX, TEX_COORD_MAX}},
{{1, -1, -2}, {1, 1, 1, 1}, {0, TEX_COORD_MAX}},
{{-1, 1, -2}, {1, 1, 1, 1}, {0, 0}},
// Left
{{-1, -1, 0}, {1, 1, 1, 1}, {TEX_COORD_MAX, 0}},
{{-1, 1, 0}, {1, 1, 1, 1}, {TEX_COORD_MAX, TEX_COORD_MAX}},
{{-1, 1, -2}, {1, 1, 1, 1}, {0, TEX_COORD_MAX}},
{{-1, -1, -2}, {1, 1, 1, 1}, {0, 0}},
// Right
{{1, -1, -2}, {1, 1, 1, 1}, {TEX_COORD_MAX, 0}},
{{1, 1, -2}, {1, 1, 1, 1}, {TEX_COORD_MAX, TEX_COORD_MAX}},
{{1, 1, 0}, {1, 1, 1, 1}, {0, TEX_COORD_MAX}},
{{1, -1, 0}, {1, 1, 1, 1}, {0, 0}},
// Top
{{1, 1, 0}, {1, 1, 1, 1}, {TEX_COORD_MAX, 0}},
{{1, 1, -2}, {1, 1, 1, 1}, {TEX_COORD_MAX, TEX_COORD_MAX}},
{{-1, 1, -2}, {1, 1, 1, 1}, {0, TEX_COORD_MAX}},
{{-1, 1, 0}, {1, 1, 1, 1}, {0, 0}},
// Bottom
{{1, -1, -2}, {1, 1, 1, 1}, {TEX_COORD_MAX, 0}},
{{1, -1, 0}, {1, 1, 1, 1}, {TEX_COORD_MAX, TEX_COORD_MAX}},
{{-1, -1, 0}, {1, 1, 1, 1}, {0, TEX_COORD_MAX}},
{{-1, -1, -2}, {1, 1, 1, 1}, {0, 0}}
};
您可以更改着色器代码中的纹理坐标值 – marekb
什么样的值传递给着色器中的纹理,得到了任何示例 – Burf2000