java opengl 贴图_OpenGL(核心配置文件)纹理缺失或黑色

在使用Assimp库加载.obj模型时遇到纹理不显示或显示为黑色的问题。已检查纹理加载、纹理参数设置及着色器代码,但问题依然存在。代码中展示了纹理加载、纹理绑定到缓冲区以及着色器的使用。目前怀疑可能是纹理坐标、纹理单元或着色器设置的问题。
摘要由CSDN通过智能技术生成

我使用我的模型的.obj文件中的.mtl文件中的引用加载纹理 . 我正在使用Assimp库来达到这个目的 .

问题是,正如 Headers 中所述,纹理没有出现在模型上或(我无法相信)它是黑色的 .

这是加载纹理的代码:

std::vector model::loadMaterialTextures(aiMaterial * mat, aiTextureType type, std::string typeName)

{

std::vector textures;

for (GLuint i = 0; i < mat->GetTextureCount(type); i++)

{

aiString str;

mat->GetTexture(type, i, &str);

GLboolean skip = false;

for (GLuint j = 0; j < textures_loaded.size(); j++)

{

if (textures_loaded[j].path == str)

{

skip = true;

break;

}

}

if (!skip)

{

texture tex;

tex.id = textureFromFile(str.C_Str(), this->directory);

tex.type = typeName;

tex.path = str;

textures.p

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值