0

我正在尝试执行使用原始图片作为纹理的代码。问题是图片加载不出来。我需要将图片放在哪里以便程序可以找到它?它目前位于我正在处理的项目文件夹中。我在 Codeblocks 12.11(Win7,MinGW)中工作

bool setup_textures()
{
    RGBIMG img;

    // Create The Textures' Id List
    glGenTextures(TEXTURES_NUM, g_texid);

    // Load The Image From A Disk File
    if (!load_rgb_image("glass_128x128.raw", 128, 128, &img)) return false;

    // Create Nearest Filtered Texture
    glBindTexture(GL_TEXTURE_2D, g_texid[0]);
    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);
    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);
    glTexImage2D(GL_TEXTURE_2D, 0, 3, img.w, img.h, 0, GL_RGB, GL_UNSIGNED_BYTE, img.data);

    // Create Linear Filtered Texture
    glBindTexture(GL_TEXTURE_2D, g_texid[1]);
    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
    glTexImage2D(GL_TEXTURE_2D, 0, 3, img.w, img.h, 0, GL_RGB, GL_UNSIGNED_BYTE, img.data);

    // Create MipMapped Texture
    glBindTexture(GL_TEXTURE_2D, g_texid[2]);
    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST);
    gluBuild2DMipmaps(GL_TEXTURE_2D, 3, img.w, img.h, GL_RGB, GL_UNSIGNED_BYTE, img.data);

    // Finished With Our Image, Free The Allocated Data
    delete img.data;

    return true;
}

问题是 glass_128x128.raw 加载失败并返回 false;

4

1 回答 1

0

去:

项目 -> 属性 -> 构建目标 -> [目标名称] -> 执行工作目录

并确保将其设置为与 glass_128x128.raw 相同的目录。它可能是从您的调试版本所在的任何目录运行的,该目录与您的图像所在的目录不同。

于 2013-06-05T04:53:10.563 回答