微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何在 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 举报,一经查实,本站将立刻删除。