gpt4 book ai didi

c++ - OpenGL 的纹理映射问题

转载 作者:行者123 更新时间:2023-11-30 04:34:21 25 4
gpt4 key购买 nike

我在使用 OpenGL 映射纹理时遇到了一些问题。这是我目前正在尝试使用 these textures 正确加载的模型的链接.

现在这是所有相关文件所在目录的链接:http://karvis.kapsi.fi/

img1.jpg

可以看出问题

我用红色标记的区域不应使用纹理进行映射,正如您从 3d 仓库模型中看到的那样。问题是由于某种原因,整个模型都被映射了,尽管也应该有没有纹理的区域。还有没有纹理的相同模型:img2.jpg

还有我正在编译的代码:main.cpp。我使用 Asset Import Library 导入 Collada 模型,使用 FreeImage 将图像转换为 RGB 格式。

有人知道为什么会这样吗?也许我向 OpenGL 传递了错误的参数,或者是我加载这些纹理的方式或其他原因?

最佳答案

在渲染纹理之前,你需要做:

glEnable(GL_TEXTURE_2D);
glBindTexture(...);
//render the texture

纹理渲染完成后,需要禁用纹理:

glDisable( GL_TEXTURE_2D );

我在您的代码中看到您在程序开始时启用了 2d 纹理。

进一步查看您的代码,检查是否:

if(mesh->HasTextureCoords(0))

为您不想渲染纹理的区域返回 true 或 false。

关于c++ - OpenGL 的纹理映射问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6088437/

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