📄 fgluperspective.html
字号:
<HTML><BODY><PRE> <STRONG>NAME</STRONG> <STRONG>fgluPerspective</STRONG> - set up a perspective projection matrix <STRONG>FORTRAN</STRONG> <STRONG>SPECIFICATION</STRONG> SUBROUTINE <STRONG>fgluPerspective</STRONG>( REAL*8 <EM>fovy</EM>, REAL*8 <EM>aspect</EM>, REAL*8 <EM>zNear</EM>, REAL*8 <EM>zFar</EM> ) <STRONG>PARAMETERS</STRONG> <EM>fovy</EM> Specifies the field of view angle, in degrees, in the <EM>y</EM> direction. <EM>aspect</EM> Specifies the aspect ratio that determines the field of view in the <EM>x</EM> direction. The aspect ratio is the ratio of <EM>x</EM> (width) to <EM>y</EM> (height). <EM>zNear</EM> Specifies the distance from the viewer to the near clipping plane (always positive). <EM>zFar</EM> Specifies the distance from the viewer to the far clipping plane (always positive). <STRONG>DESCRIPTION</STRONG> <STRONG>fgluPerspective</STRONG> specifies a viewing frustum into the world coordinate system. In general, the aspect ratio in <STRONG>fgluPerspective</STRONG> should match the aspect ratio of the associated viewport. For example, aspect=2.0 means the viewer's angle of view is twice as wide in <EM>x</EM> as it is in <EM>y</EM>. If the viewport is twice as wide as it is tall, it displays the image without distortion. The matrix generated by <STRONG>fgluPerspective</STRONG> is multipled by the current matrix, just as if <STRONG>glMultMatrix</STRONG> were called with the generated matrix. To load the perspective matrix onto the current matrix stack instead, precede the call to <STRONG>fgluPerspective</STRONG> with a call to <STRONG>glLoadIdentity</STRONG>. Given <EM>f</EM> defined as follows: f = cotangent(<STRONG>____</STRONG>) 2 The generated matrix is ( ) | ___<STRONG>_</STRONG>__ | | aspect 0 0 0 | | | | 0 f 0 0 | | <STRONG>__________</STRONG> <STRONG>____________</STRONG> | | 0 0 zNear-zFar zNear-zFar | ( ) 0 0 -1 0 <STRONG>NOTES</STRONG> Depth buffer precision is affected by the values specified for <EM>zNear</EM> and <EM>zFar</EM>. The greater the ratio of <EM>zFar</EM> to <EM>zNear</EM> is, the less effective the depth buffer will be at distinguishing between surfaces that are near each other. If r = _<STRONG>____</STRONG> zNear roughly log r bits of depth buffer precision are lost. Because r a<STRONG>p</STRONG>proaches infinity as <EM>zNear</EM> approaches 0, <EM>zNear</EM> must never be set to 0. <STRONG>SEE</STRONG> <STRONG>ALSO</STRONG> <STRONG>glFrustum</STRONG>, <STRONG>glLoadIdentity</STRONG>, <STRONG>glMultMatrix</STRONG>, <STRONG>fgluOrtho2D</STRONG></PRE></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -