Safe Haskell | Safe-Infered |
---|
- delete :: HG3DClass -> IO ()
- getName :: HG3DClass -> IO String
- setConfigOption :: HG3DClass -> String -> String -> IO ()
- validateConfigOptions :: HG3DClass -> IO String
- reinitialise :: HG3DClass -> IO ()
- shutdown :: HG3DClass -> IO ()
- setAmbientLight :: HG3DClass -> Float -> Float -> Float -> IO ()
- setLightingEnabled :: HG3DClass -> Bool -> IO ()
- setWBufferEnabled :: HG3DClass -> Bool -> IO ()
- getWBufferEnabled :: HG3DClass -> IO Bool
- createMultiRenderTarget :: HG3DClass -> String -> IO HG3DClass
- destroyRenderWindow :: HG3DClass -> String -> IO ()
- destroyRenderTexture :: HG3DClass -> String -> IO ()
- destroyRenderTarget :: HG3DClass -> String -> IO ()
- getRenderTarget :: HG3DClass -> String -> IO HG3DClass
- detachRenderTarget :: HG3DClass -> String -> IO HG3DClass
- getErrorDescription :: HG3DClass -> Int -> IO String
- setWaitForVerticalBlank :: HG3DClass -> Bool -> IO ()
- getWaitForVerticalBlank :: HG3DClass -> IO Bool
- areFixedFunctionLightsInViewSpace :: HG3DClass -> IO Bool
- convertColourValue :: HG3DClass -> Colour -> IO Int
- setStencilCheckEnabled :: HG3DClass -> Bool -> IO ()
- setNormaliseNormals :: HG3DClass -> Bool -> IO ()
- bindGpuProgramPassIterationParameters :: HG3DClass -> EnumGpuProgramType -> IO ()
- unbindGpuProgram :: HG3DClass -> EnumGpuProgramType -> IO ()
- isGpuProgramBound :: HG3DClass -> EnumGpuProgramType -> IO Bool
- addClipPlane2 :: HG3DClass -> Float -> Float -> Float -> Float -> IO ()
- resetClipPlanes :: HG3DClass -> IO ()
- setInvertVertexWinding :: HG3DClass -> Bool -> IO ()
- getInvertVertexWinding :: HG3DClass -> IO Bool
- setScissorTest :: HG3DClass -> Bool -> Int -> Int -> Int -> Int -> IO ()
- clearFrameBuffer :: HG3DClass -> Int -> Colour -> Float -> Int -> IO ()
- getHorizontalTexelOffset :: HG3DClass -> IO Float
- getVerticalTexelOffset :: HG3DClass -> IO Float
- getMinimumDepthInputValue :: HG3DClass -> IO Float
- getMaximumDepthInputValue :: HG3DClass -> IO Float
- setCurrentPassIterationCount :: HG3DClass -> Int -> IO ()
- setDeriveDepthBias :: HG3DClass -> Bool -> Float -> Float -> Float -> IO ()
- postExtraThreadsStarted :: HG3DClass -> IO ()
- registerThread :: HG3DClass -> IO ()
- preExtraThreadsStarted :: HG3DClass -> IO ()
- unregisterThread :: HG3DClass -> IO ()
- getDisplayMonitorCount :: HG3DClass -> IO Int
- delete'_ :: HG3DClassPtr -> IO ()
- getName'_ :: HG3DClassPtr -> Ptr CChar -> IO ()
- setConfigOption'_ :: HG3DClassPtr -> Ptr CChar -> Ptr CChar -> IO ()
- validateConfigOptions'_ :: HG3DClassPtr -> Ptr CChar -> IO ()
- reinitialise'_ :: HG3DClassPtr -> IO ()
- shutdown'_ :: HG3DClassPtr -> IO ()
- setAmbientLight'_ :: HG3DClassPtr -> CFloat -> CFloat -> CFloat -> IO ()
- setLightingEnabled'_ :: HG3DClassPtr -> CInt -> IO ()
- setWBufferEnabled'_ :: HG3DClassPtr -> CInt -> IO ()
- getWBufferEnabled'_ :: HG3DClassPtr -> Ptr CInt -> IO ()
- createMultiRenderTarget'_ :: HG3DClassPtr -> Ptr CChar -> HG3DClassPtr -> IO ()
- destroyRenderWindow'_ :: HG3DClassPtr -> Ptr CChar -> IO ()
- destroyRenderTexture'_ :: HG3DClassPtr -> Ptr CChar -> IO ()
- destroyRenderTarget'_ :: HG3DClassPtr -> Ptr CChar -> IO ()
- getRenderTarget'_ :: HG3DClassPtr -> Ptr CChar -> HG3DClassPtr -> IO ()
- detachRenderTarget'_ :: HG3DClassPtr -> Ptr CChar -> HG3DClassPtr -> IO ()
- getErrorDescription'_ :: HG3DClassPtr -> CInt -> Ptr CChar -> IO ()
- setWaitForVerticalBlank'_ :: HG3DClassPtr -> CInt -> IO ()
- getWaitForVerticalBlank'_ :: HG3DClassPtr -> Ptr CInt -> IO ()
- areFixedFunctionLightsInViewSpace'_ :: HG3DClassPtr -> Ptr CInt -> IO ()
- convertColourValue'_ :: HG3DClassPtr -> ColourPtr -> Ptr CUInt -> IO ()
- setStencilCheckEnabled'_ :: HG3DClassPtr -> CInt -> IO ()
- setNormaliseNormals'_ :: HG3DClassPtr -> CInt -> IO ()
- bindGpuProgramPassIterationParameters'_ :: HG3DClassPtr -> CInt -> IO ()
- unbindGpuProgram'_ :: HG3DClassPtr -> CInt -> IO ()
- isGpuProgramBound'_ :: HG3DClassPtr -> CInt -> Ptr CInt -> IO ()
- addClipPlane2'_ :: HG3DClassPtr -> CFloat -> CFloat -> CFloat -> CFloat -> IO ()
- resetClipPlanes'_ :: HG3DClassPtr -> IO ()
- setInvertVertexWinding'_ :: HG3DClassPtr -> CInt -> IO ()
- getInvertVertexWinding'_ :: HG3DClassPtr -> Ptr CInt -> IO ()
- setScissorTest'_ :: HG3DClassPtr -> CInt -> CInt -> CInt -> CInt -> CInt -> IO ()
- clearFrameBuffer'_ :: HG3DClassPtr -> CUInt -> ColourPtr -> CFloat -> CUShort -> IO ()
- getHorizontalTexelOffset'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()
- getVerticalTexelOffset'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()
- getMinimumDepthInputValue'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()
- getMaximumDepthInputValue'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()
- setCurrentPassIterationCount'_ :: HG3DClassPtr -> CInt -> IO ()
- setDeriveDepthBias'_ :: HG3DClassPtr -> CInt -> CFloat -> CFloat -> CFloat -> IO ()
- preExtraThreadsStarted'_ :: HG3DClassPtr -> IO ()
- postExtraThreadsStarted'_ :: HG3DClassPtr -> IO ()
- registerThread'_ :: HG3DClassPtr -> IO ()
- unregisterThread'_ :: HG3DClassPtr -> IO ()
- getDisplayMonitorCount'_ :: HG3DClassPtr -> Ptr CUInt -> IO ()
Documentation
Destructor.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> IO String |
Returns the name of the rendering system.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> String | name - The name of the option to alter. |
-> String | value - The value to set the option to. |
-> IO () |
Validates the options set for the rendering system, returning a message if there are problems. If the returned string is empty, there are no problems.
Sets an option for this API Used to confirm the settings (normally chosen by the user) in order to make the renderer able to initialise with the settings as required. This may be video mode, D3D driver, full screen / windowed etc. Called automatically by the default configuration dialog, and by the restoration of saved settings. These settings are stored and only activated when RenderSystem::initialise or RenderSystem::reinitialiseIf using a custom configuration dialog, it is advised that the caller calls RenderSystem::getConfigOptions
Shutdown the renderer and cleanup resources.
Restart the renderer (normally following a change in settings).
Sets the colour & strength of the ambient (global directionless) light in the world.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Float | r |
-> Float | g |
-> Float | b |
-> IO () |
Sets whether or not dynamic lighting is enabled.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Bool | enabled - If true, dynamic lighting is performed on geometry with normals supplied, geometry without normals will not be displayed. If false, no lighting is applied and all geometry will be full brightness. |
-> IO () |
Sets whether or not W-buffers are enabled if they are available for this renderer.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Bool | enabled - If true and the renderer supports them W-buffers will be used. If false W-buffers will not be used even if available. W-buffers are enabled by default for 16bit depth buffers and disabled for all other depths. |
-> IO () |
Returns true if the renderer will try to use W-buffers when avalible.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> String | name |
-> IO HG3DClass |
Create a MultiRenderTarget
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> String | name |
-> IO () |
Destroys a render texture
Destroys a render window
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> String | name |
-> IO () |
Destroys a render target of any sort
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> String | name |
-> IO () |
Returns a pointer to the render target with the passed name, or NULL if that render target cannot be found.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> String | name |
-> IO HG3DClass |
Detaches the render target with the passed name from the render system and returns a pointer to it. If the render target cannot be found, NULL is returned.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Int | errorNumber |
-> IO String |
Returns a description of an error code.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Bool | enabled - If true, the system waits for vertical blanks - quality over speed. If false it doesn't - speed over quality. |
-> IO () |
Returns true if the system is synchronising frames with the monitor vertical blank.
Defines whether or now fullscreen render windows wait for the vertical blank before flipping buffers. By default, all rendering windows wait for a vertical blank (when the CRT beam turns off briefly to move from the bottom right of the screen back to the top left) before flipping the screen buffers. This ensures that the image you see on the screen is steady. However it restricts the frame rate to the refresh rate of the monitor, and can slow the frame rate down. You can speed this up by not waiting for the blank, but this has the downside of introducing tearing
artefacts where part of the previous frame is still displayed as the buffers are switched. Speed vs quality, you choose. Has NO effect on windowed mode render targets. Only affects fullscreen mode.
areFixedFunctionLightsInViewSpaceSource
Are fixed-function lights provided in view space? Affects optimisation.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Colour | colour - The colour to convert |
-> IO Int | pDest - Pointer to location to put the result. |
Generates a packed data version of the passed in ColourValue suitable for use as with this RenderSystemSince different render systems have different colour data formats (eg RGBA for GL, ARGB for D3D) this method allows you to use 1 method for all.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Bool | enabled |
-> IO () |
Sets whether or not normals are to be automatically normalised. This is useful when, for example, you are scaling SceneNodes such that normals may not be unit-length anymore. Note though that this has an overhead so should not be turn on unless you really need it. You should not normally call this direct unless you are rendering world geometry; set it on the Renderable
Turns stencil buffer checking on or off. Stencilling (masking off areas of the rendering target based on the stencil buffer) can be turned on or off using this method. By default, stencilling is disabled.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Bool | normalise |
-> IO () |
Only binds Gpu program parameters used for passes that have more than one iteration rendering
bindGpuProgramPassIterationParametersSource
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> EnumGpuProgramType | gptype |
-> IO () |
Unbinds GpuPrograms of a given GpuProgramType. This returns the pipeline to fixed-function processing for this type.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> EnumGpuProgramType | gptype |
-> IO () |
Returns whether or not a Gpu program of the given type is currently bound.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> EnumGpuProgramType | gptype |
-> IO Bool |
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Float | A |
-> Float | B |
-> Float | C |
-> Float | D |
-> IO () |
Clears the user clipping region.
Add a user clipping plane.
Sets whether or not vertex windings set should be inverted; this can be important for rendering reflections.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Bool | invert |
-> IO () |
Indicates whether or not the vertex windings set will be inverted for the current render (e.g. reflections) RenderSystem::setInvertVertexWinding
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Bool | enabled - True to enable the scissor test, false to disable it. |
-> Int | left - The location of the corners of the rectangle, expressed in pixels. |
-> Int | top |
-> Int | right |
-> Int | bottom |
-> IO () |
Clears one or more frame buffers on the active render target.
Sets the 'scissor region' ie the region of the target in which rendering can take place. This method allows you to 'mask off' rendering in all but a given rectangular area as identified by the parameters to this method. Not all systems support this method. Check the RenderSystemCapabilities for the RSC_SCISSOR_TEST capability to see if it is supported.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Int | buffers - Combination of one or more elements of FrameBufferType denoting which buffers are to be cleared |
-> Colour | colour - The colour to clear the colour buffer with, if enabled |
-> Float | depth - The value to initialise the depth buffer with, if enabled |
-> Int | stencil - The value to initialise the stencil buffer with, if enabled. |
-> IO () |
Returns the horizontal texel offset value required for mapping texel origins to pixel origins in this rendersystem. Since rendersystems sometimes disagree on the origin of a texel, mapping from texels to pixels can sometimes be problematic to implement generically. This method allows you to retrieve the offset required to map the origin of a texel to the origin of a pixel in the horizontal direction.
Returns the vertical texel offset value required for mapping texel origins to pixel origins in this rendersystem. Since rendersystems sometimes disagree on the origin of a texel, mapping from texels to pixels can sometimes be problematic to implement generically. This method allows you to retrieve the offset required to map the origin of a texel to the origin of a pixel in the vertical direction.
getMinimumDepthInputValueSource
Gets the minimum (closest) depth value to be used when rendering using identity transforms. When using identity transforms you can manually set the depth of a vertex; however the input values required differ per rendersystem. This method lets you retrieve the correct value. Renderable::getUseIdentityViewRenderable::getUseIdentityProjection
getMaximumDepthInputValueSource
Gets the maximum (farthest) depth value to be used when rendering using identity transforms. When using identity transforms you can manually set the depth of a vertex; however the input values required differ per rendersystem. This method lets you retrieve the correct value. Renderable::getUseIdentityViewRenderable::getUseIdentityProjection
setCurrentPassIterationCountSource
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Int | count - Number of times to render the current state. |
-> IO () |
Tell the render system whether to derive a depth bias on its own based on the values passed to it in setCurrentPassIterationCount. The depth bias set will be baseValue + iteration * multiplier
set the current multi pass count value. This must be set prior to calling _render()
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Bool | derive - True to tell the RS to derive this automatically |
-> Float | baseValue - The base value to which the multiplier should be added |
-> Float | multiplier - The amount of depth bias to apply per iteration |
-> Float | slopeScale - The constant slope scale bias for completeness |
-> IO () |
Tell the rendersystem to perform any prep tasks it needs to directly before other threads which might access the rendering API are registered. Call this from your main thread before starting your other threads (which themselves should call registerThread()
Register the an additional thread which may make calls to rendersystem-related objects. This method should only be called by additional threads during their initialisation. If they intend to use hardware rendering system resources they should call this method before doing anything related to the render system. Some rendering APIs require a per-thread setup and this method will sort that out. It is also necessary to call unregisterThread before the thread shuts down. This method takes no parameters - it must be called from the thread being registered and that context is enough.
Unregister an additional thread which may make calls to rendersystem-related objects. RenderSystem::registerThread
Gets the number of display monitors. Root::getDisplayMonitorCount
delete'_ :: HG3DClassPtr -> IO ()Source
setConfigOption'_ :: HG3DClassPtr -> Ptr CChar -> Ptr CChar -> IO ()Source
validateConfigOptions'_ :: HG3DClassPtr -> Ptr CChar -> IO ()Source
reinitialise'_ :: HG3DClassPtr -> IO ()Source
shutdown'_ :: HG3DClassPtr -> IO ()Source
setAmbientLight'_ :: HG3DClassPtr -> CFloat -> CFloat -> CFloat -> IO ()Source
setLightingEnabled'_ :: HG3DClassPtr -> CInt -> IO ()Source
setWBufferEnabled'_ :: HG3DClassPtr -> CInt -> IO ()Source
getWBufferEnabled'_ :: HG3DClassPtr -> Ptr CInt -> IO ()Source
createMultiRenderTarget'_ :: HG3DClassPtr -> Ptr CChar -> HG3DClassPtr -> IO ()Source
destroyRenderWindow'_ :: HG3DClassPtr -> Ptr CChar -> IO ()Source
destroyRenderTexture'_ :: HG3DClassPtr -> Ptr CChar -> IO ()Source
destroyRenderTarget'_ :: HG3DClassPtr -> Ptr CChar -> IO ()Source
getRenderTarget'_ :: HG3DClassPtr -> Ptr CChar -> HG3DClassPtr -> IO ()Source
detachRenderTarget'_ :: HG3DClassPtr -> Ptr CChar -> HG3DClassPtr -> IO ()Source
getErrorDescription'_ :: HG3DClassPtr -> CInt -> Ptr CChar -> IO ()Source
setWaitForVerticalBlank'_ :: HG3DClassPtr -> CInt -> IO ()Source
getWaitForVerticalBlank'_ :: HG3DClassPtr -> Ptr CInt -> IO ()Source
convertColourValue'_ :: HG3DClassPtr -> ColourPtr -> Ptr CUInt -> IO ()Source
setStencilCheckEnabled'_ :: HG3DClassPtr -> CInt -> IO ()Source
setNormaliseNormals'_ :: HG3DClassPtr -> CInt -> IO ()Source
unbindGpuProgram'_ :: HG3DClassPtr -> CInt -> IO ()Source
isGpuProgramBound'_ :: HG3DClassPtr -> CInt -> Ptr CInt -> IO ()Source
addClipPlane2'_ :: HG3DClassPtr -> CFloat -> CFloat -> CFloat -> CFloat -> IO ()Source
setInvertVertexWinding'_ :: HG3DClassPtr -> CInt -> IO ()Source
getInvertVertexWinding'_ :: HG3DClassPtr -> Ptr CInt -> IO ()Source
setScissorTest'_ :: HG3DClassPtr -> CInt -> CInt -> CInt -> CInt -> CInt -> IO ()Source
clearFrameBuffer'_ :: HG3DClassPtr -> CUInt -> ColourPtr -> CFloat -> CUShort -> IO ()Source
getVerticalTexelOffset'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()Source
setDeriveDepthBias'_ :: HG3DClassPtr -> CInt -> CFloat -> CFloat -> CFloat -> IO ()Source
getDisplayMonitorCount'_ :: HG3DClassPtr -> Ptr CUInt -> IO ()Source