游戏开发论坛

 找回密码
 立即注册
搜索
查看: 984|回复: 0

opengl关于屏幕选取的问题

[复制链接]

6

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2006-2-25 15:16:00 | 显示全部楼层 |阅读模式
我在屏幕上用鼠标在屏幕上选取了一个点,然后用gluUnProject函数得到两个最近和最远点的世界坐标,如下:
// 取近裁剪面交点
gluUnProject( (GLdouble) mouse_x, (GLdouble) mouse_y, 0.0,
modelview, projection, viewport,
&near_world_x, &near_world_y, &near_world_z);
// 取远裁剪面交点
gluUnProject( (GLdouble) mouse_x, (GLdouble) mouse_y, 1.0,
modelview, projection, viewport,
&far_world_x, &far_world_y, &far_world_z);

然后我希望在这两点之间画一条线:
//画所选取的点的直线
glBegin(GL_LINES);
glVertex3f(near_world_x, near_world_y, near_world_z);
glVertex3f(far_world_x,far_world_y, far_world_z);
glEnd();

上面这么画直线好像是不对的,gluUnProject函数取到的点是世界坐标,而glVertex3f函数画的是局部坐标,那我应该怎么转换,把(near_world_x, near_world_y, near_world_z)和(far_world_x,far_world_y, far_world_z)两点转成局部坐标画出来?谢谢

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-23 17:39

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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