Public Member Functions | |
XFCIMPORT INT | recreate (UINT32 aDeviceId=XFCGLC_DEFAULT, UINT32 aFlags=XFCGLC_DEFAULT) |
Re-creates device without destroying the XFcGL object. | |
XFCIMPORT | XFcGL () |
Constructor. | |
XFCIMPORT | ~XFcGL () |
Destructor. | |
XFCIMPORT INT32 | beginRender () |
Begins rendering block. | |
XFCIMPORT INT32 | endRender () |
Ends rendering block. | |
XFCIMPORT INT32 | setViewport (XFcGLViewport &aViewport) |
Sets the currently active viewport. | |
XFCIMPORT INT32 | getViewport (XFcGLViewport &aViewport) |
Retrieves the currently active viewport. | |
XFCIMPORT INT32 | processVertices (XFcGLVertexBuffer &aSource, XFcGLVertexBuffer &aTarget, INT32 aOffset, INT32 aCount) |
Processes vertices. | |
XFCIMPORT INT32 | renderPrimitive (XFcGLVertexBuffer *aSource, INT32 aPrimitiveType, INT32 aOffset, INT32 aNumVertices, INT32 aFirstVertex, INT32 aLastVertex, XFcGLTriangleInfoBuffer *aTriangleInfo) |
Renders primitive(s). | |
XFCIMPORT INT32 | renderPrimitiveIndexed (XFcGLVertexBuffer *aSource, INT32 aPrimitiveType, INT32 aOffset, UINT16 *aIndexArray, INT32 aNumVertices, INT32 aFirstVertex, INT32 aLastVertex, XFcGLTriangleInfoBuffer *aTriangleInfo) |
Renders primitive(s) using index list. | |
XFCIMPORT INT32 | setLight (INT32 aIndex, XFcGLLight &aLight) |
Sets a light's data. | |
XFCIMPORT INT32 | getLight (INT32 aIndex, XFcGLLight &aLight) |
Gets specific light's data. | |
XFCIMPORT INT32 | enableLight (INT32 aIndex, INT aState) |
Enables or disables a light. | |
XFCIMPORT INT32 | setMatrix (INT32 aMatrixId, XFcMatrix4 &aMatrix) |
Sets the currently active matrix. | |
XFCIMPORT INT32 | getMatrix (INT32 aMatrixId, XFcMatrix4 &aMatrix) |
Gets the currently active matrix. | |
XFCIMPORT INT32 | setCustomCallback (XFcGLCustomRenderCallback *aCallback) |
Sets the custom renderer callback. | |
XFCIMPORT INT32 | setCustomCallbackData (INT32 aData) |
Sets the custom renderer data. | |
XFCIMPORT INT32 | setStateI (INT32 aStateId, INT32 aValue) |
Sets the value of a render state as an INT32. | |
XFCIMPORT INT32 | setStateF (INT32 aStateId, REAL aValue) |
Sets the value of a render state as a REAL. | |
XFCIMPORT INT32 | getStateI (INT32 aStateId, INT32 &aValue) |
Returns a render state value as an INT32. | |
XFCIMPORT INT32 | getStateF (INT32 aStateId, REAL &aValue) |
Returns a render state value as a REAL. | |
XFCIMPORT INT32 | validateBlendMode (INT32 aSrcBlend, INT32 aTgtBlend) |
Checks if a specific blend mode is supported. | |
XFCIMPORT INT32 | setTexture (XFcGLTexture *aTexture) |
Sets the current active texture. | |
XFCIMPORT XFcGLTexture * | getTexture () |
Gets the current texture. | |
XFCIMPORT INT32 | setMaterial (XFcGLMaterial &aMaterial) |
Sets the current material. | |
XFCIMPORT INT32 | getMaterial (XFcGLMaterial &aMaterial) |
Gets the current material. | |
XFCIMPORT INT32 | drawSprite2d (REAL aCenterX, REAL aCenterY, REAL aZ, REAL aWidth, REAL aHeight, REAL aU0, REAL aV0, REAL aU1, REAL aV1, XFcMatrix4 *aTransformationMatrix, UINT32 aColor=0xffffff) |
Draws a 2D sprite using screen coordinates. | |
XFCIMPORT INT32 | drawSprite2d2 (REAL aX0, REAL aY0, REAL aZ, REAL aWidth, REAL aHeight, REAL aU0, REAL aV0, REAL aU1, REAL aV1, XFcMatrix4 *aTransformationMatrix, UINT32 aColor=0xffffffff) |
Draws a 2D sprite using screen coordinates. | |
XFCIMPORT INT32 | drawSprite3d (REAL aCenterX, REAL aCenterY, REAL aCenterZ, REAL aWidth, REAL aHeight, REAL aU0, REAL aV0, REAL aU1, REAL aV1, XFcMatrix4 *aTransformationMatrix, UINT32 aColor=0xffffffff) |
Draws a 3D sprite using world coordinates. | |
XFCIMPORT INT32 | drawSprite3dBillboard (REAL aCenterX, REAL aCenterY, REAL aCenterZ, REAL aWidth, REAL aHeight, REAL aU0, REAL aV0, REAL aU1, REAL aV1, XFcMatrix4 *aTransformationMatrix, UINT32 aColor=0xffffffff) |
Draws a 3D billboard sprite using world coordinates. | |
XFCIMPORT XFcGLSurface * | getSecondary () |
Returns a pointer to the secondary buffer. | |
XFCIMPORT INT | setRenderTarget (XFcGLSurface *aSurface) |
Sets render target. Set to NULL for the framebuffer. | |
XFCIMPORT INT32 | getPalette (UINT8 **aPalette, UINT8 **aInvPalette) |
Returns pointer to the active palette. (Unused). | |
XFCIMPORT INT32 | setPalette (UINT8 *aPalette, UINT8 *aInvPalette) |
Sets the active palette. (Unused). | |
XFCIMPORT INT32 | clear (INT32 aColor=0, REAL aZBuffer=REALf(0), INT32 aFlags=0) |
Clears the framebuffer. | |
Static Public Member Functions | |
XFCIMPORT const XFcGLDeviceInfo *const | getCurrentDeviceInfo () |
Returns the device info for the currently active device. | |
XFCIMPORT const XFcGLDeviceInfo *const | getDeviceInfo () |
Returns linked list of currently available devices. | |
XFCIMPORT XFcGL * | create (UINT32 aDeviceId=XFCGLC_DEFAULT, UINT32 aFlags=XFCGLC_DEFAULT) |
Protected Attributes | |
void * | mUnknown |
|
Constructor.
|
|
Destructor.
|
|
Begins rendering block. Everything that is supposed to be sorted should be between calls to beginRender() and endRender(). |
|
Clears the framebuffer.
|
|
|
|
Draws a 2D sprite using screen coordinates. Draws the sprite with polygons, so you can make transformations like Z-rotation on them. If you don't need any transformations, blitting a surface directly to the secondary buffer may be faster.
|
|
Draws a 2D sprite using screen coordinates. Draws the sprite with polygons, so you can make transformations like Z-rotation on them. If you don't need any transformations, blitting a surface directly to the secondary buffer may be faster.
|
|
Draws a 3D sprite using world coordinates. Usually used with a transformation matrix to be really useful. To make a nailboard sprite, for instance, you'll need to create a transformation matrix that makes sure that the sprite rotates towards the camera around it's Y axis only.
|
|
Draws a 3D billboard sprite using world coordinates. Draws a billboard sprite (i.e. the sprite always faces the camera).
|
|
Enables or disables a light.
|
|
Ends rendering block. Does actual rendering in software mode. Hardware implementations may render all the time. |
|
Returns the device info for the currently active device.
|
|
Returns linked list of currently available devices.
|
|
Gets specific light's data.
|
|
Gets the current material.
|
|
Gets the currently active matrix.
|
|
Returns pointer to the active palette. (Unused).
|
|
Returns a pointer to the secondary buffer. Accessing the secondary buffer directly may cause stalls in the rendering pipeline, and in worst case the system may need to convert the framebuffer to the desired format and back on calls to lock/unlock. Blitting surfaces to the secondary should be fast, however. |
|
Returns a render state value as a REAL.
|
|
Returns a render state value as an INT32.
|
|
Gets the current texture.
|
|
Retrieves the currently active viewport.
|
|
Processes vertices. This method can be used to make special effects that require the same calculations as everything rendered. You do not need to call this for normal rendering.
|
|
Re-creates device without destroying the XFcGL object.
|
|
Renders primitive(s). Renders one or more triangles using current render states, matrices and textures.
|
|
Renders primitive(s) using index list. Renders one or more triangles using current render states, matrices and textures. Using this function instead of renderPrimitive() is often cheaper as the system doesn't need to do all the transformations for all vertices multiple times if several faces are using the same vertex.
|
|
Sets the custom renderer callback.
|
|
Sets the custom renderer data.
|
|
Sets a light's data.
|
|
Sets the current material.
|
|
Sets the currently active matrix.
|
|
Sets the active palette. (Unused).
|
|
Sets render target. Set to NULL for the framebuffer.
|
|
Sets the value of a render state as a REAL.
|
|
Sets the value of a render state as an INT32.
|
|
Sets the current active texture.
|
|
Sets the currently active viewport.
|
|
Checks if a specific blend mode is supported. Since most blend mode combinations will not be supported by all hardware, you can use this function to determine, at runtime, if a blend mode is supported.
|
|
|
![]() | ||||
![]() |
Confidential Copyright © 2002-2003 Fathammer | with doxygen by Dimitri van Heesch |