游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3675|回复: 2

学OpenGL编3D游戏中的纹理贴图问题

[复制链接]

1

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2007-7-15 11:04:00 | 显示全部楼层 |阅读模式
void bsipic::Box(float x,float y,float z)
{ glPushMatrix();//压入堆栈
  glScalef(x,y,z);
  glEnable(GL_TEXTURE_2D);                //使用纹理
        glBegin(GL_QUADS);
                glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, -1.0f,  1.0f);// 前
                glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, -1.0f,  1.0f);
                glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f,  1.0f,  1.0f);
                glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f,  1.0f,  1.0f);
                glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f, -1.0f);// 后
                glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f,  1.0f, -1.0f);
                glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f,  1.0f, -1.0f);
                glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f, -1.0f);
                glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f,  1.0f, -1.0f);// 上
                glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f,  1.0f,  1.0f);
                glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f,  1.0f,  1.0f);
                glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f,  1.0f, -1.0f);
                glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f, -1.0f, -1.0f);// 下
                glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f, -1.0f, -1.0f);
                glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f,  1.0f);
                glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f,  1.0f);
                glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, -1.0f, -1.0f);// 左
                glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f,  1.0f, -1.0f);
                glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f,  1.0f,  1.0f);
                glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f,  1.0f);
                glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, -1.0f, -1.0f);// 右
                glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f,  1.0f);
                glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f,  1.0f,  1.0f);
                glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f,  1.0f, -1.0f);
        glEnd();
glDisable(GL_TEXTURE_2D);
glPopMatrix();
}

看不懂glTexCoord2f(0.0f, 0.0f)里面的坐标为什么这样设置,



请教大虾 给我讲解下!

0

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2007-8-31 01:12:00 | 显示全部楼层

Re: 学OpenGL编3D游戏中的纹理贴图问题

你把贴图的坐标换成平面的,glTexCoord2f函数里的参数其实代表4个贴图的起始位置,一般是左下00,右下01,左上10,右上11,依照这4个角来定位贴图的比例(大小),然后用上顶点坐标定位贴图位置就行了。不要因为给侧面贴图或者其他位置贴图迷惑了。。我也不知道怎么说明了。。不怎么会表达,也想帮你

6

主题

40

帖子

40

积分

注册会员

Rank: 2

积分
40
发表于 2007-9-13 02:33:00 | 显示全部楼层

Re: 学OpenGL编3D游戏中的纹理贴图问题

给你个网址:http://www.owlei.com/DancingWind/  里面是关于OPENGL的入门知识教程
你现在的的问题? 看完那些教程后。。。。,当然就不是问题了,呵呵。。。。祝开心
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-21 22:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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