游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2399|回复: 5

求助红宝书中独立移动光源代码

[复制链接]

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2011-3-17 10:23:00 | 显示全部楼层 |阅读模式
[em4]虽然注册很久了,但是我是真正的新手啊新手
下面是display()中的代码,求解答
1. 第一对glPushMatrix/glPopMatrix是什么作用啊,难不成gluLookAt除了设置摄像机位置还要做什么改动么?
2. gldisable(gl_lighting)有什么用啊?提高效率么?就画个线框,这个影响很大么,大到必须关闭掉lighting?
        glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
        glPushMatrix ();//4 w8?
        gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);//set the camera

        glPushMatrix ();//4 w8
        glRotated ((GLdouble) spin, 1.0, 0.0, 0.0);
        glLightfv (GL_LIGHT0, GL_POSITION, position);

        glTranslated (0.0, 0.0, 1.5);//translation first, rotation second
        glDisable (GL_LIGHTING);//w8 4? efficiency?
        glColor3f (0.0, 1.0, 1.0);//4 the light
        glutWireCube (0.1);
        glEnable (GL_LIGHTING);
        glPopMatrix ();///

        glutSolidTorus (0.275, 0.85, 8, 15);
        glPopMatrix ();////it feels like that this pair used specifically 4 the gluLookAt Operation!!
        glFlush ();
诚挚的感谢ing

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2011-3-18 09:19:00 | 显示全部楼层

Re:求助红宝书中独立移动光源代码

为什么没有回来涅~~~~(>_<)~~~~  是8是太简单了…… 求解答啊

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2011-3-18 11:00:00 | 显示全部楼层

Re:求助红宝书中独立移动光源代码

这是因为gluLookAt对模型矩阵的改变有叠加的效果么?所以如果少了那对push/pop后,图像就会离我们越来越远?

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2011-3-23 10:27:00 | 显示全部楼层

Re:求助红宝书中独立移动光源代码

啊,木人,我自己来解释哈吧
1. 类似glLoadIdentity()对模型矩阵的重置作用;
2. 不太清楚,应该是从效率方面考虑的,不涉及法线等的计算,关了再开

45

主题

1163

帖子

1165

积分

金牌会员

Rank: 6Rank: 6

积分
1165
发表于 2011-3-27 23:22:00 | 显示全部楼层

Re:求助红宝书中独立移动光源代码

呵呵,我只会用glMatrixMode,glLoadMatrixf...哈哈

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2011-3-28 09:36:00 | 显示全部楼层

Re:求助红宝书中独立移动光源代码

谢谢上面小小C的回复安慰了哈我O(∩_∩)O~
第二个问题我问了别人,听说是为了效果什么滴,如果不关闭光照计算的话,当线框中的部分处于点光源之前的时候有可能会因为背光而看不到它的存在,所以……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-8 06:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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