游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2416|回复: 3

OpenGL 中如何使用 MultiTexture. 即如何开启多层贴图

[复制链接]

17

主题

454

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
发表于 2005-1-6 22:19:00 | 显示全部楼层 |阅读模式
OpenGL 中如何使用 MultiTexture. 即如何开启多层贴图.
步骤:

1: glActiveTexture(GL_TEXTUREn);可以控制当前的纹理操作是作用到哪个Tex_Unit上的。
GL_TEXTUREn中的n从0到31.具体看glext.h定义.

2:glActiveTExture为一个扩展.但是已经在OpenGL 1.3的核心里。所以DOC到GLSpec1.3 中去找.


3:glMultTexCoord(GL_TEXTUREn,....);用来指定某个Tex_Unit的纹理坐标.

4:glClientActiveTexture(GL_TEXTUREn);用来控制以下的函数影响的是第n个Tex_Unit
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glTexCoordPointer

5: eg .使用第二个纹理代码如下
glActiveTexture(GL_TEXTURE1);
glEnable(GL_TEXTURE_2D);
glBindTexture(...):
glTexEnv(......):
关闭第二个纹理的代码如下
glActiveTexture(GL_TEXTURE1);
glDisable(GL_TEXTURE_2D);
glActiveTexture(GL_TEXTURE0);//改变回第一个.否则以后的操作都是对GL_TEXTURE1的。

使用两个纹理通道的 Vertex Array
//使用两个纹理通道.全要激活他们.
glClientActiveTexture(GL_TEXTURE0);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glClientActiveTexture(GL_TEXTURE1);
glEnableClientState(GL_TEXTURE_COORD_ARRAY)


glClientActiveTexture(GL_TEXTURE0);
glTexCoordPointer();
glClientActiveTexture(GL_TEXTURE1);
glTexCoordPointer();

........................

glDrawArrays(....

//用完两个通道.全都关闭.
glClientActiveTexture(GL_TEXTURE0);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glClientActiveTexture(GL_TEXTURE1);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);

//关闭第二个纹理通道
glActiveTexture(GL_TEXTURE1);
glDisable(GL_TEXTURE_2D);
glActiveTexture(GL_TEXTURE0);
glEnable(GL_TEXTURE_2D);

6 : 最后补充: 带不带ARB都一样的。看定义就知道了。ARB后来变成了核心了。

190

主题

1801

帖子

2096

积分

金牌会员

Rank: 6Rank: 6

积分
2096
QQ
发表于 2005-1-6 22:24:00 | 显示全部楼层

Re:OpenGL 中如何使用 MultiTexture. 即如何开启多层贴图


我1.2的书上就有mulitytexture呀

96

主题

529

帖子

539

积分

高级会员

Rank: 4

积分
539
发表于 2005-1-7 13:27:00 | 显示全部楼层

Re:OpenGL 中如何使用 MultiTexture. 即如何开启多层贴图

简炼,实用,顶

54

主题

2916

帖子

3765

积分

论坛元老

Rank: 8Rank: 8

积分
3765
QQ
发表于 2005-1-7 15:06:00 | 显示全部楼层

Re:OpenGL 中如何使用 MultiTexture. 即如何开启多层贴图

不错
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-24 00:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表