OpenGL学习笔记(常见错误与问题)
1、假如不修改宽度和高度,直接用your.jpg去替代G:\OpenGL\OpenGL教程_NeHe_源代码_1-48\Lesson06\Data\NeHe.bmp
将源代码中的if (TextureImage[0]=LoadBMP("Data/NeHe.bmp"))一句更改为if (TextureImage[0]=LoadBMP("Data/your.jpg"))
运行程序,出现以后提示

2、这可能是因为纹理图片不是.bmp格式的原因,为此,打开Adobe Photoshop CS4,将your.jpg另存为your.bmp,转换成功后,用your.bmp替换G:\OpenGL\OpenGL教程_NeHe_源代码_1-48\Lesson06\Data\ your.jpg,并将源代码中的if (TextureImage[0]=LoadBMP("Data/your.jpg"))一句更改为if (TextureImage[0]=LoadBMP("Data/your.bmp")),重新运行程序,结果:

3、看来不修改照片的高度和宽度是不行的。
1、修改照片的宽带和高度的方法:打开Adobe Photoshop CS4,使用“文件 -> 打开”打开your.bmp,之后“图像 -> 图像大小”,打开图像大小设置窗口。

2、将“约束比例”前面的对勾去掉,将宽度更改为256像素,高度更改为256像素。修改完成后进行保存。
3、重新运行程序,发现贴图成功,截图如下:

1、在用VS2008编译运行NeHe的Lesson09的源代码时,出现已经错误提示:

2、该错误的中文翻译:
error C4430: 缺少类型说明符 - 假定为int。注意:C++不支持默认的int
3、这是因为在VC6中,如果没有显示的指定返回值类型,编译器将其视为默认整形;但是vs2008不支持默认整形,解决这个问题不能修改每个没有显示指示返回值类型的函数地方,可以用wd4430来解决。
4、解决办法:打开项目的Properties,打开Configuration Properties -> C/C++ -> Command Line,在Additional options中添加/wd4430,点击应用和确定即可。

1、在Lesson12的源代码中,有一处“0.5”被写成了“.5”,为此,编写简单程序测试:
#include<iostream>
using namespace std;
void main()
{
float a=.38,b=.9;
float m;
m=a+b;
cout<<m<<endl<<endl;
}
运行结果表明,当输入小数的时候,如果小数点前面的数是0的话,可以省去。
