用opengl如何实现像3dmax中perspective视图那样,按住左键移动鼠标,物体跟着变换视角,物体停住的位置就是鼠标当前的位置。
用opengl如何实现像3dmax中perspective视图那样,按住左键移动鼠标,物体跟着变换视角,物体停住的位置就是鼠标当前的位置。有类似代码最好!谢谢! 问题点数:20、回复次数:5Top
1 楼syy64(太平洋)回复于 2004-09-05 20:01:09 得分 0
《超级宝典》上有很多例子。Top
2 楼capoatguitar(菠萝蜜汁红塔山)回复于 2004-09-06 09:28:54 得分 0
溜达溜达不说话Top
3 楼mana_(ke)回复于 2004-09-06 12:52:22 得分 10
在窗口处理函数中
case WM_MOUSEMOVE:
endX = LOWORD(lParam);
endY = HIWORD(lParam);
if (wParam & MK_LBUTTON)
{
//设置旋转,注意要累加
SetRotation(endX - x, endY - y);
}
x = endX;
y = endY;
return 0;
//-------------------------------------------------
注意累加,比如:
void SetRotation(float x, float y)
{
static float xAngle, yAngel;
xAngel = xAngel + x; //渲染的时候的真正旋转量(x)
yAngel = yAngel + y; //
}
//---------------------------------------------------
大概就这样,不过不精确,要精确的因按数学公式计算一下
Top
4 楼kofightas(追求代码的优雅)回复于 2004-09-08 19:45:38 得分 0
perspective视图中按住左键移动鼠标是划选择框吧?
你说的是视图旋转工具?物体停住的位置就是鼠标当前的位置是什么意思?Top
5 楼Nhsoft(我不是高手)回复于 2004-09-16 20:08:42 得分 10
做个Camera.
我的主页上有个XCamera.很好用的。我现在的地图编辑器里就用.Top




