月度存档: 4 月 2012

Opengl五 纹理

1加载纹理

glTexImage(GLenum target,GLint level,GLint internalFormat,GLsizei width,GLint border,GLenum format,GLenum type,void * data);

参数:

target: GL_TEXTURE_1D,GL_TEXTURE_2D,GL_TEXTURE_3D

level:指定这些函数所加载的mipmap层,对于非mipmap纹理,此值可以设置为0

internalFormat : 告诉opengl每个纹理单元中存储多少颜色成分,一些常用值:GL_ALPHA,GL_LUMINANCE,GL_LUMINANCE_ALPHA,GL_RGB,GL_RGBA

width,height,depth:指定了纹理的宽度,高度和深度(这三个值推荐强制使用2的次数)

border:纹理贴图的边界宽度

format : 在内存中的格式

type : data数据的类型int,byte,short等

data:纹理数据

纹理替换:

glTextureSubImage : 替换纹理比重新加载一个新纹理速度更快

纹理对象允许我们一次加载多个纹理(放在内存中)。

1、glGenTexutres(GLsizei n,GLuint *textureIds) ; 分配纹理对象

2、glBindTexture(GLenum target,GLuint texture); 绑定纹理对象,以后操作使用此纹理

3、glDeleteTexture(GLsizei n, GLuint *textureIds);  删除纹理对象

 

以下是具体伪代码

glGenTexutreids

glBindTexture

glTexParameterf(GL_Texture_2D,GL_TEXUTRE_MIN_FILETER,GL_LINEAR);

glTexParamterf(GL_Texture_2D,GL_texture_mag_filter,GL_LINEAR);

glEnable(GL_TEXUTRE_2D)

glTexCoord3f

glVertex3f

 

Opengl四雾

glEnable(GL_FOG); // 打开雾

glFogfv(GL_FOG_COLOR,float[])// 设置雾颜色,通常和背景色一致

glFogf(GL_FOG_START,5f) // 雾从多远开始

glFlogf(GL_FOG_END,30f) // 雾从多远停止

glFog(GL_FOG_MODE,GL_LINEAR) // 使用哪种雾方程式

 

OpengGL 三

颜色来材质

glEnable(GL_BLEND);// 启用混色

启用抗锯齿:

glEnable(GL_BLEND);

glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);

glEnable(GL_POINT_SMOOTH);

glEnable(GL_LINE_SMOOTH);

glEnable(GL_POLYGON_SMOOTH);

混合平滑处理,作用于点和线效果非常好,对于多边形,使用多重采样效果会更好。

多重采样被启用时,平滑特性会被忽略。

Opengl二

光源:

环境光:ambient

散射光:diffuse

镜面光:specular

启动光源:glEnable(GL_LIGHTING);

设置光源模式:

glLightModefv(GL_LIGHT_MODEL_AMBIENT,ambientLight);

设置材质光照属性

glMaterialfv(GL_FRONT,GL_AMBIENT_AND_DIFFUSE,float[]);

GL_FRONT:设置正面光照属性

GL_FRONT_BACK

GL_FRONT_AND_BACK

opengl宝典中推荐使用另一种方法设置光照:

glEnable(GL_COLOR_MATERICAL); // 设置颜色追踪

glColorMaterical(GL_FRONT,GL_AMBIENT_AND_DIFFUSE);

 

设置光源:

glLight(GL_LIGHT0,GL_AMBIENT,float[]);

glLight(GL_LIGHT0,GL_DIFFUSE,float[]);

glEnable(GL_LIGHT0);

 

如何关闭AdobeARM.exe开机进程

关闭该进程的方法是:在Adobe的“编辑-首选项-更新程序”中,设为“不自动更新”。

OpenGL一

OpenGL分为投影矩阵及模型视图矩阵。

OpenGL多边形默认逆时针方向环绕是多边形的正面。

OpenGL图元:

GL_POINTS : 点

GL_LINES : 线  (如果指定了奇数个点,直接忽略最后一个点)

GL_LINE_STRIP : 线带

GL_LINE_LOOP : 线环

GL_TRIANGLES : 三角形

GL_TRIANGLE_STRIP : 三角形带

GL_TRIANGLE_FAN : 三角形扇

GL_QUADS : 四边形

GL_QUAD_STRIP : 四边形带

GL_POLYGON : 多边形

多边形颜色:

GL_FLAT : 使用多边形最后一个顶点的颜色填充多边形

GL_SMOOTH : 根据顶点的颜色进行渐变,对相邻顶点的颜色进行匀和

secureCRT下繁体乱码问题解决

secureCRT下繁体乱码解决需要两步:

1、是设置 LANG=zh_TW.utf8

2、是设置secureCRT中显示字符集为utf8。

OK,困扰多时的繁体乱码解决掉了。