游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6756|回复: 4

OPENGL 疑问 : 关于glTexCoord3f(S,R,T) 中参数 T 的含义及用法

[复制链接]

6

主题

40

帖子

40

积分

注册会员

Rank: 2

积分
40
发表于 2007-9-13 03:06:00 | 显示全部楼层 |阅读模式
OPENGL中关于3D 纹理贴图时,设置纹理坐标函数glTexCoord3f(S,R,T) 中参数 T 的含义及用法,有知道的大侠请给个详细指使,谢谢。。。。

一下是代码片断:


#define        iWidth 16
#define        iHeight 16
#define iDepth 16


static GLubyte image[iDepth][iHeight][iWidth][3];

static GLuint texName;


void makeImage(void)
{
   int s, t, r;

   for (s = 0; s < 16; s++)
      for (t = 0; t < 16; t++)
                for (r = 0; r < 16; r++)
                {
            image[r][t][0] = (GLubyte) (s * 17);
            image[r][t][1] = (GLubyte) (t * 17);
            image[r][t][2] = (GLubyte) (r * 17);
         }
}

glTexImage3D(GL_TEXTURE_3D, 0, GL_RGB, iWidth, iHeight,iDepth, 0, GL_RGB, GL_UNSIGNED_BYTE, image);

void display(void)
{
   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
   
   glBegin(GL_QUADS);
   glTexCoord3f(0.0, 0.0, 0.0); glVertex3f(-2.25, -1.0, 0.0);
   glTexCoord3f(0.0, 1.0, 0.0); glVertex3f(-2.25, 1.0, 0.0);
   glTexCoord3f(1.0, 1.0, 0.0); glVertex3f(-0.25, 1.0, 0.0);
   glTexCoord3f(1.0, 0.0, 0.0); glVertex3f(-0.25, -1.0, 0.0);

   glEnd();
   glFlush();
}
[em7]

13

主题

46

帖子

46

积分

注册会员

Rank: 2

积分
46
发表于 2007-9-13 15:27:00 | 显示全部楼层

Re:OPENGL 疑问 : 关于glTexCoord3f(S,R,T) 中参数 T 的含义及

glBegin(GL_QUADS);

用二维纹理坐标就可以了
glTexCoord3f ==> glTexCoord2f

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2007-9-14 15:42:00 | 显示全部楼层

Re:OPENGL 疑问 : 关于glTexCoord3f(S,R,T) 中参数 T 的含义及

最典型的用法是将一堆同样大小的2D图片组合成一个3D贴图。

然后通过t来确定是那一张!

DX10/OpenGL 2.1中的Textures Array就是这种用法的变种。

6

主题

40

帖子

40

积分

注册会员

Rank: 2

积分
40
 楼主| 发表于 2007-9-16 22:01:00 | 显示全部楼层

Re: OPENGL 疑问 : 关于glTexCoord3f(S,R,T) 中参数 T 的含义及

非常感谢大的热心回复,俺请教下 【hyzboy】 : 其实俺本来也是这样理解的,但是T值只能设置为 0->1 之间,那么它又是如何和一系列2D纹理的某一张对应的? 假如有3张2D纹理组成一个3D纹理,那么我要选择第2张,该如何设置T的值? 你要是有完整的代码,可以发给我看看,或者有更详细的说明和示例,谢谢。
[em16]

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2007-9-17 12:04:00 | 显示全部楼层

Re:OPENGL 疑问 : 关于glTexCoord3f(S,R,T) 中参数 T 的含义及

和算局部坐标一样的方式层号除去总层数。

OpenSceneGraph中有这方面演示,可以参考。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-17 10:27

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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