Safe Haskell | None |
---|
- 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 ()
- attachRenderTarget :: HG3DClass -> HG3DClass -> IO ()
- getRenderTarget :: HG3DClass -> String -> IO HG3DClass
- detachRenderTarget :: HG3DClass -> String -> IO HG3DClass
- getErrorDescription :: HG3DClass -> Int -> IO String
- setWaitForVerticalBlank :: HG3DClass -> Bool -> IO ()
- getWaitForVerticalBlank :: HG3DClass -> IO Bool
- getGlobalNumberOfInstances :: HG3DClass -> IO Int
- setGlobalNumberOfInstances :: HG3DClass -> Int -> IO ()
- setFixedPipelineEnabled :: HG3DClass -> Bool -> IO ()
- getFixedPipelineEnabled :: HG3DClass -> IO Bool
- setDepthBufferFor :: HG3DClass -> HG3DClass -> IO ()
- 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
- beginProfileEvent :: HG3DClass -> String -> IO ()
- endProfileEvent :: HG3DClass -> IO ()
- markProfileEvent :: HG3DClass -> String -> IO ()
- 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 ()
- attachRenderTarget'_ :: HG3DClassPtr -> HG3DClassPtr -> 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 ()
- getGlobalNumberOfInstances'_ :: HG3DClassPtr -> Ptr CInt -> IO ()
- setGlobalNumberOfInstances'_ :: HG3DClassPtr -> CInt -> IO ()
- setFixedPipelineEnabled'_ :: HG3DClassPtr -> CInt -> IO ()
- getFixedPipelineEnabled'_ :: HG3DClassPtr -> Ptr CInt -> IO ()
- setDepthBufferFor'_ :: HG3DClassPtr -> HG3DClassPtr -> 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 ()
- beginProfileEvent'_ :: HG3DClassPtr -> Ptr CChar -> IO ()
- endProfileEvent'_ :: HG3DClassPtr -> IO ()
- markProfileEvent'_ :: HG3DClassPtr -> Ptr CChar -> 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
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> IO String |
Restart the renderer (normally following a change in settings).
Shutdown the renderer and cleanup resources.
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 |
Destroys a render window
Create a MultiRenderTarget, which is a render target that renders to multiple RenderTextures
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> String | name |
-> IO () |
Destroys a render texture
:: 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 () |
Attaches the passed render target to the render system.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> HG3DClass | target |
-> IO () |
Returns a pointer to the render target with the passed name, or NULL if that
:: 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 If the render target cannot be found, NULL is returned.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> String | name |
-> IO HG3DClass |
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.
getGlobalNumberOfInstancesSource
Gets the global number of instances.
setGlobalNumberOfInstancesSource
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Int | val |
-> IO () |
Sets if fixed pipeline rendering is enabled on the system.
Sets the global number of instances.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> Bool | enabled |
-> IO () |
Returns true if fixed pipeline rendering is enabled on the system.
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> HG3DClass | renderTarget |
-> IO () |
Are fixed-function lights provided in view space? Affects optimisation.
Retrieves an existing DepthBuffer or creates a new one suited for the given RenderTargetRenderTargetRenderTarget::setDepthBufferPool()
:: 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. |
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.
Generates a packed data version of the passed in ColourValue suitable for 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
:: 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
:: 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
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. |
-> 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.
:: 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 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.
getHorizontalTexelOffsetSource
Returns the vertical texel offset value required for mapping 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.
Gets the minimum (closest) depth value to be used when rendering 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
getMinimumDepthInputValueSource
Gets the maximum (farthest) depth value to be used when rendering 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
set the current multi pass count value. This must be set prior to _render()
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
:: 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 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 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
:: HG3DClass | classpointer - pointer of Class instance from which this methods is called. |
-> String | eventName |
-> IO () |
Ends the currently active GPU profiling event.
This marks the beginning of an event for GPU profiling.
Marks an instantaneous event for graphics profilers. This is equivalent to calling beginProfileEvent endProfileEvent
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
attachRenderTarget'_ :: HG3DClassPtr -> HG3DClassPtr -> 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
getGlobalNumberOfInstances'_ :: HG3DClassPtr -> Ptr CInt -> IO ()Source
setGlobalNumberOfInstances'_ :: HG3DClassPtr -> CInt -> IO ()Source
setFixedPipelineEnabled'_ :: HG3DClassPtr -> CInt -> IO ()Source
getFixedPipelineEnabled'_ :: HG3DClassPtr -> Ptr CInt -> IO ()Source
setDepthBufferFor'_ :: HG3DClassPtr -> HG3DClassPtr -> IO ()Source
areFixedFunctionLightsInViewSpace'_ :: 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
resetClipPlanes'_ :: HG3DClassPtr -> 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
getHorizontalTexelOffset'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()Source
getVerticalTexelOffset'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()Source
getMinimumDepthInputValue'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()Source
getMaximumDepthInputValue'_ :: HG3DClassPtr -> Ptr CFloat -> IO ()Source
setCurrentPassIterationCount'_ :: HG3DClassPtr -> CInt -> IO ()Source
setDeriveDepthBias'_ :: HG3DClassPtr -> CInt -> CFloat -> CFloat -> CFloat -> IO ()Source
preExtraThreadsStarted'_ :: HG3DClassPtr -> IO ()Source
registerThread'_ :: HG3DClassPtr -> IO ()Source
unregisterThread'_ :: HG3DClassPtr -> IO ()Source
getDisplayMonitorCount'_ :: HG3DClassPtr -> Ptr CUInt -> IO ()Source
beginProfileEvent'_ :: HG3DClassPtr -> Ptr CChar -> IO ()Source
endProfileEvent'_ :: HG3DClassPtr -> IO ()Source
markProfileEvent'_ :: HG3DClassPtr -> Ptr CChar -> IO ()Source