游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3281|回复: 8

openGL中的坐标问题

[复制链接]

2

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2007-7-17 10:20:00 | 显示全部楼层 |阅读模式
全局坐标系和局部坐标系是什么呢?
一直没搞明白,只看到有的论坛上有这样写的。找书也没找到。
高人来指点指点。

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2007-7-17 11:32:00 | 显示全部楼层

Re:openGL中的坐标问题

就是不同坐标系而已,一般世界用全局坐标,模型自身用局部坐标,模型自身的旋转是建立在局部坐标系上的。参照的是自身的坐标系。

2

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
 楼主| 发表于 2007-7-17 13:09:00 | 显示全部楼层

Re:openGL中的坐标问题

世界是指什么呢?刚接触,很不懂。。。
全局坐标是不是固定的?怎么设呢?默认的是怎么定义的?
问题一大堆啊。:(

2

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
 楼主| 发表于 2007-7-17 15:39:00 | 显示全部楼层

Re:openGL中的坐标问题

据说opengl中没有全局坐标和局部坐标的概念

15

主题

202

帖子

207

积分

中级会员

Rank: 3Rank: 3

积分
207
QQ
发表于 2007-7-17 19:24:00 | 显示全部楼层

Re:openGL中的坐标问题

局部坐标是物件标准坐标表示.全局坐标系是整个世界的坐标表示.
LZ应该找本图形学的书好好看看.

2

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
 楼主| 发表于 2007-7-17 19:54:00 | 显示全部楼层

Re:openGL中的坐标问题

哦,好的,还要看图形学的啊,呵呵。

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2007-7-18 01:12:00 | 显示全部楼层

Re: Re:openGL中的坐标问题

yanstill: RepenGL中的坐标问题
世界是指什么呢?刚接触,很不懂。。。

假如画一个点
renderpoint()
{
  glBegin(GL_POINTS);
  glVertex3f(1.0f,0.0f,0.0f);//坐标是 (1,0,0),是自我坐标
  glEnd();
}

然后在程序中渲染的时候
render
{
  glTranslatef(1.0f,0.0f,-5.0f);//移动 (1,0,-5)
  renderpoint();//这时候,点就画到 (2,0,-5)这个最终坐标了。
}
上面的“最终坐标”就是“世界坐标

2

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
 楼主| 发表于 2007-7-18 09:39:00 | 显示全部楼层

Re:openGL中的坐标问题

哦,我明白了。世界坐标就是最终经转换后的坐标。
谢谢啊。总算明白了。

0

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2007-7-24 02:55:00 | 显示全部楼层

Re:openGL中的坐标问题

我上次总结了点东西……其实越看越糊涂……看不看自己决定。

物体空间坐标(模型空间坐标) X 模型变换矩阵 = 世界空间坐标
世界空间坐标 X 视图变换矩阵 = 眼空间坐标(眼坐标)

综上
物体空间坐标 X 模型视图变换矩阵 = 眼空间坐标
【模型视图变换矩阵,即ModelView矩阵。】
------------------------------------------------------------------------
眼空间坐标 X 投影变换矩阵 = 剪裁坐标

综上所有:
物体空间坐标 X 模型视图投影矩阵 = 剪裁坐标
【模型视图投影矩阵,即ModelViewProj矩阵。】
========================================================
顶点程序负责向片段程序提供剪裁坐标

========================================================
========================================================
将上述结论推广到投影纹理贴图的坐标生成过程中:
物体空间坐标 X 光源的模型视图投影矩阵 = 物体在光坐标系中的剪裁坐标
【由顶点的坐标计算出了一个前2个分量落在-1,1区间的剪裁坐标,将这2个分量换算到0,1区间,以查询纹理】
于是我们获得了一个float4类型的纹理坐标,其实只有前2个分量有效。
使用tex2Dproj可以完成对纹理的查询,从而获得一个色彩值。

【整个投影纹理的关键点在于获取 光源的模型视图投影矩阵。我们可以通过在光源位置渲染一次场景获得该矩阵。
而预先渲染一次场景,可以同时获得生成阴影所需要的深度纹理。】
【我们也可以用物体在光坐标系中的裁剪坐标,去查询深度纹理,进而得知当前点是否在阴影中。这就是Shadow Map】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 18:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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