游戏开发论坛

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

OpenGL灯光设置中的4个参数中,最后那个参数设成0.0f或1.0f

[复制链接]

11

主题

23

帖子

23

积分

注册会员

Rank: 2

积分
23
发表于 2005-10-26 10:15:00 | 显示全部楼层 |阅读模式
OpenGL光照中需要输入光源的位置,用

        GLfloat position_light0[] = { 500.0f, 300.0f, 61.0f,          1.0f                 };
       

        glLightfv( GL_LIGHT0, GL_POSITION, position_light0 );



为什么OpenGL设置光源的位置要用齐次坐标,弄的人很糊涂。我发现光源位置的第四个参数设成0.0f或是1.0f光照位置差别很大,请问这是怎么回事?
       


5

主题

63

帖子

63

积分

注册会员

Rank: 2

积分
63
发表于 2005-10-26 11:17:00 | 显示全部楼层

Re:OpenGL灯光设置中的4个参数中,最后那个参数设成0.0f或1

w=0时表示无穷远处的点光源,即平行光,w不为0是点光源的实际位置是x/w,y/w,z/w

3

主题

17

帖子

23

积分

注册会员

Rank: 2

积分
23
发表于 2005-10-30 17:52:00 | 显示全部楼层

Re: OpenGL灯光设置中的4个参数中,最后那个参数设成0.0f或1

当然区别会很大了,如果是无穷光源的话,就不存在光的衰减等效果了,而如果是位置光源,会存在光的衰减效果,而且还与你的观察位置有关系 [em10]

0

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2005-11-4 13:31:00 | 显示全部楼层

Re:OpenGL灯光设置中的4个参数中,最后那个参数设成0.0f或1

dfq19
赞一个

11

主题

136

帖子

142

积分

注册会员

Rank: 2

积分
142
QQ
发表于 2006-1-5 23:50:00 | 显示全部楼层

Re:OpenGL灯光设置中的4个参数中,最后那个参数设成0.0f或1

解释得真清楚
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-23 03:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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