Safe Haskell | Safe-Infered |
---|
- new :: String -> IO HG3DClass
- delete :: HG3DClass -> IO ()
- setFOVy :: HG3DClass -> Radians -> IO ()
- getFOVy :: HG3DClass -> IO Radians
- setNearClipDistance :: HG3DClass -> Float -> IO ()
- getNearClipDistance :: HG3DClass -> IO Float
- setFarClipDistance :: HG3DClass -> Float -> IO ()
- getFarClipDistance :: HG3DClass -> IO Float
- setAspectRatio :: HG3DClass -> Float -> IO ()
- getAspectRatio :: HG3DClass -> IO Float
- setFrustumOffset :: HG3DClass -> Vec2 -> IO ()
- setFrustumOffset2 :: HG3DClass -> Float -> Float -> IO ()
- getFrustumOffset :: HG3DClass -> IO Vec2
- setFocalLength :: HG3DClass -> Float -> IO ()
- getFocalLength :: HG3DClass -> IO Float
- setFrustumExtents :: HG3DClass -> Float -> Float -> Float -> Float -> IO ()
- resetFrustumExtents :: HG3DClass -> IO ()
- getFrustumExtents :: HG3DClass -> IO (Float, Float, Float, Float)
- isCustomViewMatrixEnabled :: HG3DClass -> IO Bool
- isCustomProjectionMatrixEnabled :: HG3DClass -> IO Bool
- isVisible3 :: HG3DClass -> Vec3 -> IO (EnumFrustumPlane, Bool)
- getTypeFlags :: HG3DClass -> IO Int
- getBoundingRadius :: HG3DClass -> IO Float
- getMovableType :: HG3DClass -> IO String
- getMaterial :: HG3DClass -> IO SharedPtr
- getSquaredViewDepth :: HG3DClass -> HG3DClass -> IO Float
- getWorldSpaceCorners :: HG3DClass -> IO Vec3
- setProjectionType :: HG3DClass -> EnumProjectionType -> IO ()
- getProjectionType :: HG3DClass -> IO EnumProjectionType
- setOrthoWindow :: HG3DClass -> Float -> Float -> IO ()
- setOrthoWindowHeight :: HG3DClass -> Float -> IO ()
- setOrthoWindowWidth :: HG3DClass -> Float -> IO ()
- getOrthoWindowHeight :: HG3DClass -> IO Float
- getOrthoWindowWidth :: HG3DClass -> IO Float
- disableReflection :: HG3DClass -> IO ()
- isReflected :: HG3DClass -> IO Bool
- disableCustomNearClipPlane :: HG3DClass -> IO ()
- isCustomNearClipPlaneEnabled :: HG3DClass -> IO Bool
- getPositionForViewUpdate :: HG3DClass -> IO Vec3
- getOrientationForViewUpdate :: HG3DClass -> IO Quaternion
- setOrientationMode :: HG3DClass -> EnumOrientationMode -> IO ()
- getOrientationMode :: HG3DClass -> IO EnumOrientationMode
- new'_ :: Ptr CChar -> HG3DClassPtr -> IO ()
- delete'_ :: HG3DClassPtr -> IO ()
- setFOVy'_ :: HG3DClassPtr -> RadiansPtr -> IO ()
- getFOVy'_ :: HG3DClassPtr -> RadiansPtr -> IO ()
- setNearClipDistance'_ :: HG3DClassPtr -> CFloat -> IO ()
- getNearClipDistance'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()
- setFarClipDistance'_ :: HG3DClassPtr -> CFloat -> IO ()
- getFarClipDistance'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()
- setAspectRatio'_ :: HG3DClassPtr -> CFloat -> IO ()
- getAspectRatio'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()
- setFrustumOffset'_ :: HG3DClassPtr -> Vec2Ptr -> IO ()
- setFrustumOffset2'_ :: HG3DClassPtr -> CFloat -> CFloat -> IO ()
- getFrustumOffset'_ :: HG3DClassPtr -> Vec2Ptr -> IO ()
- setFocalLength'_ :: HG3DClassPtr -> CFloat -> IO ()
- getFocalLength'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()
- setFrustumExtents'_ :: HG3DClassPtr -> CFloat -> CFloat -> CFloat -> CFloat -> IO ()
- resetFrustumExtents'_ :: HG3DClassPtr -> IO ()
- getFrustumExtents'_ :: HG3DClassPtr -> Ptr CFloat -> Ptr CFloat -> Ptr CFloat -> Ptr CFloat -> IO ()
- isCustomViewMatrixEnabled'_ :: HG3DClassPtr -> Ptr CInt -> IO ()
- isCustomProjectionMatrixEnabled'_ :: HG3DClassPtr -> Ptr CInt -> IO ()
- isVisible3'_ :: HG3DClassPtr -> Vec3Ptr -> Ptr CInt -> Ptr CInt -> IO ()
- getTypeFlags'_ :: HG3DClassPtr -> Ptr CUInt -> IO ()
- getBoundingRadius'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()
- getMovableType'_ :: HG3DClassPtr -> Ptr CChar -> IO ()
- getMaterial'_ :: HG3DClassPtr -> SharedPtrPtr -> IO ()
- getSquaredViewDepth'_ :: HG3DClassPtr -> HG3DClassPtr -> Ptr CFloat -> IO ()
- getWorldSpaceCorners'_ :: HG3DClassPtr -> Vec3Ptr -> IO ()
- setProjectionType'_ :: HG3DClassPtr -> CInt -> IO ()
- getProjectionType'_ :: HG3DClassPtr -> Ptr CInt -> IO ()
- setOrthoWindow'_ :: HG3DClassPtr -> CFloat -> CFloat -> IO ()
- setOrthoWindowHeight'_ :: HG3DClassPtr -> CFloat -> IO ()
- setOrthoWindowWidth'_ :: HG3DClassPtr -> CFloat -> IO ()
- getOrthoWindowHeight'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()
- getOrthoWindowWidth'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()
- disableReflection'_ :: HG3DClassPtr -> IO ()
- isReflected'_ :: HG3DClassPtr -> Ptr CInt -> IO ()
- disableCustomNearClipPlane'_ :: HG3DClassPtr -> IO ()
- isCustomNearClipPlaneEnabled'_ :: HG3DClassPtr -> Ptr CInt -> IO ()
- getPositionForViewUpdate'_ :: HG3DClassPtr -> Vec3Ptr -> IO ()
- getOrientationForViewUpdate'_ :: HG3DClassPtr -> QuaternionPtr -> IO ()
- setOrientationMode'_ :: HG3DClassPtr -> CInt -> IO ()
- getOrientationMode'_ :: HG3DClassPtr -> Ptr CInt -> IO ()
Documentation
Sets the Y-dimension Field Of View (FOV) of the frustum. Field Of View (FOV) is the angle made between the frustum's position, and the edges of the screen
onto which the scene is projected. High values (90+ degrees) result in a wide-angle, fish-eye kind of view, low values (30- degrees) in a stretched, telescopic kind of view. Typical values are between 45 and 60 degrees. This value represents the VERTICAL field-of-view. The horizontal field of view is calculated from this depending on the dimensions of the viewport (they will only be the same if the viewport is square). Setting the FOV overrides the value supplied for frustum::setNearClipPlane.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Radians | fovy |
-> IO () |
Retrieves the frustums Y-dimension Field Of View (FOV).
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Float | nearDist |
-> IO () |
Sets the position of the near clipping plane.
Sets the position of the near clipping plane. The position of the near clipping plane is the distance from the frustums position to the screen on which the world is projected. The near plane distance, combined with the field-of-view and the aspect ratio, determines the size of the viewport through which the world is viewed (in world co-ordinates). Note that this world viewport is different to a screen viewport, which has it's dimensions expressed in pixels. The frustums viewport should have the same aspect ratio as the screen viewport it renders into to avoid distortion.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Float | farDist |
-> IO () |
Retrieves the distance from the frustum to the far clipping plane.
Sets the distance to the far clipping plane. The view frustum is a pyramid created from the frustum position and the edges of the viewport. This method sets the distance for the far end of that pyramid. Different applications need different values: e.g. a flight sim needs a much further far clipping plane than a first-person shooter. An important point here is that the larger the ratio between near and far clipping planes, the lower the accuracy of the Z-buffer used to depth-cue pixels. This is because the Z-range is limited to the size of the Z buffer (16 or 32-bit) and the max values must be spread over the gap between near and far clip planes. As it happens, you can affect the accuracy far more by altering the near distance rather than the far distance, but keep this in mind.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Float | ratio |
-> IO () |
Retreives the current aspect ratio.
Sets the aspect ratio for the frustum viewport. The ratio between the x and y dimensions of the rectangular area visible through the frustum is known as aspect ratio: aspect = width / height . The default for most fullscreen windows is 1.3333 - this is also assumed by Ogre
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Vec2 | offset - The horizontal and vertical plane offsets. |
-> IO () |
Sets frustum offsets, used in stereo rendering. You can set both horizontal and vertical plane offsets of eye; in stereo rendering frustum is moved in horizontal plane. To be able to render from two eyes you'll need two cameras rendering on two RenderTargets. The frustum offsets is in world coordinates, and default to (0, 0) - no offsets.
Sets frustum offsets, used in stereo rendering. You can set both horizontal and vertical plane offsets of eye; in stereo rendering frustum is moved in horizontal plane. To be able to render from two eyes you'll need two cameras rendering on two RenderTargets. The frustum offsets is in world coordinates, and default to (0, 0) - no offsets.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Float | horizontal - The horizontal plane offset. |
-> Float | vertical - The vertical plane offset. |
-> IO () |
Retrieves the frustum offsets.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Float | focalLength - The distance to the focal plane from the frustum in world coordinates. |
-> IO () |
Returns focal length of frustum.
Sets frustum focal length (used in stereo rendering).
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Float | left - The position where the side clip planes intersect the near clip plane, in eye space |
-> Float | right |
-> Float | top |
-> Float | bottom |
-> IO () |
Reset the frustum extents to be automatically derived from other params.
Manually set the extents of the frustum.
Get the extents of the frustum in view space.
isCustomViewMatrixEnabledSource
Returns whether a custom view matrix is in use.
isCustomProjectionMatrixEnabledSource
Returns whether a custom projection matrix is in use.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Vec3 | vert - Vertex to be checked (world space) |
-> IO (EnumFrustumPlane, Bool) | culledBy - Optional pointer to an int which will be filled by the plane number which culled the box if the result was false; |
Tests whether the given vertex is visible in the FrustumOtherwise, false is returned.
Overridden from MovableObject::getTypeFlags
Overridden from MovableObject
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> IO String |
Overridden from MovableObject
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> IO SharedPtr |
Overridden from Renderable
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> HG3DClass | cam |
-> IO Float |
Overridden from Renderable
Gets the world space corners of the frustum. The corners are ordered as follows: top-right near, top-left near, bottom-left near, bottom-right near, top-right far, top-left far, bottom-left far, bottom-right far.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> EnumProjectionType | pt |
-> IO () |
Retrieves info on the type of projection used (orthographic or perspective).
Sets the type of projection to use (orthographic or perspective). Default is perspective.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> IO EnumProjectionType |
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Float | w - The dimensions of the view window in world units |
-> Float | h |
-> IO () |
Sets the orthographic window height, for use with orthographic rendering only. The width of the window will be calculated from the aspect ratio.
Sets the orthographic window settings, for use with orthographic rendering only. Calling this method will recalculate the aspect ratio, use setOrthoWindowHeight or setOrthoWindowWidth alone if you wish to preserve the aspect ratio but just fit one or other dimension to a particular size.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Float | h - The height of the view window in world units |
-> IO () |
Sets the orthographic window width, for use with orthographic rendering only. The height of the window will be calculated from the aspect ratio.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Float | w - The width of the view window in world units |
-> IO () |
Gets the orthographic window height, for use with orthographic rendering only.
Gets the orthographic window width, for use with orthographic rendering only. This is calculated from the orthographic height and the aspect ratio
Returns whether this frustum is being reflected.
Disables reflection modification previously turned on with enableReflection
disableCustomNearClipPlaneSource
Is a custom near clip plane in use?
Disables any custom near clip plane.
getPositionForViewUpdateSource
Get the derived position of this frustum.
getOrientationForViewUpdateSource
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> IO Quaternion |
Get the derived orientation of this frustum.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> EnumOrientationMode | orientationMode |
-> IO () |
Get the orientation mode of the frustum. Getting the orientation of a frustum is only supported on iPhone at this time. An exception is thrown on other platforms.
Set the orientation mode of the frustum. Default is OR_DEGREE_0 Setting the orientation of a frustum is only supported on iPhone at this time. An exception is thrown on other platforms.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> IO EnumOrientationMode |
delete'_ :: HG3DClassPtr -> IO ()Source
setFOVy'_ :: HG3DClassPtr -> RadiansPtr -> IO ()Source
getFOVy'_ :: HG3DClassPtr -> RadiansPtr -> IO ()Source
setNearClipDistance'_ :: HG3DClassPtr -> CFloat -> IO ()Source
getNearClipDistance'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()Source
setFarClipDistance'_ :: HG3DClassPtr -> CFloat -> IO ()Source
getFarClipDistance'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()Source
setAspectRatio'_ :: HG3DClassPtr -> CFloat -> IO ()Source
getAspectRatio'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()Source
setFrustumOffset'_ :: HG3DClassPtr -> Vec2Ptr -> IO ()Source
setFrustumOffset2'_ :: HG3DClassPtr -> CFloat -> CFloat -> IO ()Source
getFrustumOffset'_ :: HG3DClassPtr -> Vec2Ptr -> IO ()Source
setFocalLength'_ :: HG3DClassPtr -> CFloat -> IO ()Source
getFocalLength'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()Source
setFrustumExtents'_ :: HG3DClassPtr -> CFloat -> CFloat -> CFloat -> CFloat -> IO ()Source
getFrustumExtents'_ :: HG3DClassPtr -> Ptr CFloat -> Ptr CFloat -> Ptr CFloat -> Ptr CFloat -> IO ()Source
isCustomViewMatrixEnabled'_ :: HG3DClassPtr -> Ptr CInt -> IO ()Source
isVisible3'_ :: HG3DClassPtr -> Vec3Ptr -> Ptr CInt -> Ptr CInt -> IO ()Source
getTypeFlags'_ :: HG3DClassPtr -> Ptr CUInt -> IO ()Source
getBoundingRadius'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()Source
getMovableType'_ :: HG3DClassPtr -> Ptr CChar -> IO ()Source
getMaterial'_ :: HG3DClassPtr -> SharedPtrPtr -> IO ()Source
getSquaredViewDepth'_ :: HG3DClassPtr -> HG3DClassPtr -> Ptr CFloat -> IO ()Source
getWorldSpaceCorners'_ :: HG3DClassPtr -> Vec3Ptr -> IO ()Source
setProjectionType'_ :: HG3DClassPtr -> CInt -> IO ()Source
getProjectionType'_ :: HG3DClassPtr -> Ptr CInt -> IO ()Source
setOrthoWindow'_ :: HG3DClassPtr -> CFloat -> CFloat -> IO ()Source
setOrthoWindowHeight'_ :: HG3DClassPtr -> CFloat -> IO ()Source
setOrthoWindowWidth'_ :: HG3DClassPtr -> CFloat -> IO ()Source
getOrthoWindowHeight'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()Source
getOrthoWindowWidth'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()Source
isReflected'_ :: HG3DClassPtr -> Ptr CInt -> IO ()Source
setOrientationMode'_ :: HG3DClassPtr -> CInt -> IO ()Source
getOrientationMode'_ :: HG3DClassPtr -> Ptr CInt -> IO ()Source