thanks, i like to implement a ocean at plane with position p and normal n =
(0,0,1), may it isn't correct what i am mentioned.

adegli

2007/2/5, Robert Osfield <[EMAIL PROTECTED]>:

HI Adrain,

The way I'd do it is to create a cube in clip space (-1,-1,-1,1,1,1,)
than transform this by the inverse of the view*project matrix to put
it into world coords.

Robert.

On 2/5/07, Adrian Egli <[EMAIL PROTECTED]> wrote:
> hi all
>
> i feel like i am too stupid, i like to implement a new drawable to
drawing a
> plane on the bottom of the view frustum volume. the plane should always
be
> on the viewfrustumvolume bottom.
> i have only the sceneview
>
>         osg::Vec3 eye,center,up,vdir;
>         sceneView->getViewMatrixAsLookAt(eye,center,up);
>         double left,right,botton,top,zFar,zNear;
>
>
sceneView->getProjectionMatrixAsFrustum(left,right,botton,top,zNear,zFar);
>
>         double fov,ratio;
>
> sceneView->getProjectionMatrixAsPerspective(fov,ratio,zNear,zFar);
>
>
>
>         osg::Vec3 fdir(center-eye);
>         osg::Vec3 dir(fdir);
>         dir.normalize ();
>         osg::Vec3 s(dir^up);
>         s.normalize();
>
>
>         double Hnear = 2.0 * tan(fov / 2.0) * zNear;
>         double Wnear = Hnear * ratio;
>         double Hfar = 2.0 * tan(fov / 2.0) * zFar;
>          double Wfar = Hfar * ratio;
>
>         osg::Vec3d eyeAtNear = eye + dir * zNear;
>         osg::Vec3d eyeAtFar = eye + dir * zFar;
>
>         edgeNearLeft  = eyeAtNear + s * -Wnear/2.0;
>         edgeNearRight = eyeAtNear + s *  Wnear/2.0;
>         edgeFarLeft   = eyeAtFar  + s * -Wfar/2.0;
>         edgeFarRight  = eyeAtFar  + s *  Wfar/2.0;
>
>
>
>
> glBegin(GL_TRIANGLE_STRIP);
>     glVertex3dv(edgeNearLeft.ptr());
>     glVertex3dv(edgeNearRight.ptr ());
>     glVertex3dv(edgeFarLeft.ptr());
>     glVertex3dv(edgeFarRight.ptr());
>     glEnd();
>
>
> what is wrong?
>
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://openscenegraph.net/mailman/listinfo/osg-users
> http://www.openscenegraph.org/
>
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to