如何在 OpenGL 中旋转立方体上的纹理

问题描述

我正在画这个很酷的立方体。但是正如你所看到的,一些纹理(这张图片上只有一个可见)旋转错误

enter image description here

如何旋转这个错误的纹理? (这与纹理坐标有关吗?如果是,请告诉我,所以我放了绘图代码)我在每一侧都使用相同的纹理,除了顶部和底部

纹理加载:

Handle = GL.GenTexture();
GL.BindTexture(TextureTarget.Texture2D,Handle);

Image<Rgba32> image = Image.Load(File.ReadAllBytes(path));

image.Mutate(x => x.Flip(FlipMode.Vertical));

List<byte> pixels = new List<byte>(4 * image.Width * image.Height);

for (int y = 0; y < image.Height; y++)
{
    var row = image.GetPixelRowSpan(y);

    for (int x = 0; x < image.Width; x++)
    {
        pixels.Add(row[x].R);
        pixels.Add(row[x].G);
        pixels.Add(row[x].B);
        pixels.Add(row[x].A);
    }
}

GL.TexParameter(TextureTarget.Texture2D,TextureParameterName.TextureWrapS,(int)TextureWrapMode.Repeat);
GL.TexParameter(TextureTarget.Texture2D,TextureParameterName.TextureWrapT,TextureParameterName.TextureMinFilter,(int)TextureMinFilter.Nearest);
GL.TexParameter(TextureTarget.Texture2D,TextureParameterName.TextureMagFilter,(int)TextureMagFilter.Nearest);

GL.TexImage2D(TextureTarget.Texture2D,PixelInternalFormat.Rgba,image.Width,image.Height,PixelFormat.Rgba,PixelType.UnsignedByte,pixels.ToArray());

GL.GenerateMipmap(GenerateMipmapTarget.Texture2D);

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)