以下是代码:
public void LoadTexture(string textureId, string path)
{
int devilId = 0;
Il.ilGenImages(1, out devilId);
Il.ilBindImage(devilId); // set as the active texture
if (!Il.ilLoadImage(path))
{
System.Diagnostics.Debug.Assert(false, "Could not open file, [" + path + "].");
}
// The files we'll be using need to be flipped before passing to OpenGL
Ilu.iluFlipImage();
int width = Il.ilGetInteger(Il.IL_IMAGE_WIDTH);
int height = Il.ilGetInteger(Il.IL_IMAGE_HEIGHT);
int openGLId = Ilut.ilutGLBindTexImage();
System.Diagnostics.Debug.Assert(openGLId != 0);
Il.ilDeleteImages(1, ref devilId);
_textureDatabase.Add(textureId, new Texture(openGLId, width, height));
}
我收到断言失败,无法打开文件[face.tif]错误。我确保face.tif文件位于项目文件夹,解决方案文件夹,bin文件夹,bin \ debug文件夹中,但仍然无法打开它。
我正在尝试遵循C#Game Programming for Serious Game Creation这本书。
答案 0 :(得分:0)
它正在您的代码运行的同一目录中查找文件face.tif
。
设置传递给方法path
的{{1}}是什么?
答案 1 :(得分:-1)
在Form
主类(Ex:Form.cs)上,将这两行放在构造函数的顶部:
public Form1(){
InitializeComponent();
_openGLControl.InitializeContexts();