游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4133|回复: 6

怎样给立方体贴纹理才能使在其内部和外部都正常查看呢?

[复制链接]

13

主题

46

帖子

46

积分

注册会员

Rank: 2

积分
46
发表于 2007-9-5 09:34:00 | 显示全部楼层 |阅读模式
怎样给立方体贴纹理才能使在其内部和外部都正常查看呢?
现在是按照内部逆方向贴图的,故在内部查看六个面都没有问题(也有可能是在其内部不会有互相遮挡的原因)
如果将视点移出立方体,在其外部观察就会发现,前面没有遮挡住后面,显得很假,

13

主题

46

帖子

46

积分

注册会员

Rank: 2

积分
46
 楼主| 发表于 2007-9-5 09:38:00 | 显示全部楼层

Re:怎样给立方体贴纹理才能使在其内部和外部都正常查看

这是贴图那一部分代码,MX=MY=MZ=1024




        glBegin(GL_QUADS);
                glTexCoord2f(0,0);                glVertex3f(-MX/32,0,-MZ/32);
                glTexCoord2f(1,0);                glVertex3f( MX/32,0,-MZ/32);
                glTexCoord2f(1,1);                glVertex3f( MX/32, MY/32,-MZ/32);
                glTexCoord2f(0,1);                glVertex3f(-MX/32, MY/32,-MZ/32);

                glTexCoord2f(0,0);                glVertex3f(-MX/32,0, MZ/32);
                glTexCoord2f(1,0);                glVertex3f(-MX/32,0,-MZ/32);
                glTexCoord2f(1,1);                glVertex3f(-MX/32,MY/32,-MZ/32);
                glTexCoord2f(0,1);                glVertex3f(-MX/32,MY/32, MZ/32);

                glTexCoord2f(0,0);                glVertex3f( MX/32,0, MZ/32);
                glTexCoord2f(1,0);                glVertex3f(-MX/32,0, MZ/32);
                glTexCoord2f(1,1);                glVertex3f(-MX/32,MY/32,MZ/32);
                glTexCoord2f(0,1);                glVertex3f( MX/32,MY/32,MZ/32);

                glTexCoord2f(0,0);                glVertex3f( MX/32,0, -MZ/32);
                glTexCoord2f(1,0);                glVertex3f( MX/32,0,  MZ/32);
                glTexCoord2f(1,1);                glVertex3f( MX/32,MY/32, MZ/32);
                glTexCoord2f(0,1);                glVertex3f( MX/32,MY/32,-MZ/32);

                glTexCoord2f(0,0);                glVertex3f(-MX/32,MY/32,-MZ/32);
                glTexCoord2f(1,0);                glVertex3f(-MX/32,MY/32, MZ/32);
                glTexCoord2f(1,1);                glVertex3f( MX/32,MY/32, MZ/32);
                glTexCoord2f(0,1);                glVertex3f( MX/32,MY/32,-MZ/32);
        glEnd();

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2007-9-5 12:57:00 | 显示全部楼层

Re:怎样给立方体贴纹理才能使在其内部和外部都正常查看

里外,各绘制一遍

6

主题

390

帖子

400

积分

中级会员

Rank: 3Rank: 3

积分
400
发表于 2007-9-5 14:41:00 | 显示全部楼层

Re:怎样给立方体贴纹理才能使在其内部和外部都正常查看

背面不裁不就得了

13

主题

46

帖子

46

积分

注册会员

Rank: 2

积分
46
 楼主| 发表于 2007-9-6 09:17:00 | 显示全部楼层

Re:怎样给立方体贴纹理才能使在其内部和外部都正常查看

感谢楼上两位热心朋友,,,在下还是不知道如何操作

里外各绘制一次是说,按照逆时针顺时针重复绘制两次?

背面不裁是什么意思?

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2007-9-6 14:22:00 | 显示全部楼层

Re:怎样给立方体贴纹理才能使在其内部和外部都正常查看

背面裁减 -> glCullFace

如果你是双面纹理的话,里外各绘制一遍

如果只是单面,想从另一面也看到,就关闭那面的裁减。

3

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2007-11-25 16:51:00 | 显示全部楼层

Re:怎样给立方体贴纹理才能使在其内部和外部都正常查看

你那个跟我这个比较像,不过我的位图文件怎么打不开?你那个纹理是数据是从BMP位图文件里边读取的么??
都郁闷死了~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-24 08:36

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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