Go to the documentation of this file.
28 #ifndef __RenderSystem_H_
29 #define __RenderSystem_H_
773 const Frustum* frustum = 0) = 0;
1012 virtual void _setDepthBias(
float constantBias,
float slopeScaleBias = 0.0f) = 0;
1057 Matrix4& dest,
bool forGpuProgram =
false) = 0;
1066 Matrix4& dest,
bool forGpuProgram =
false) = 0;
1075 Real nearPlane,
Real farPlane,
Matrix4& dest,
bool forGpuProgram =
false) = 0;
1083 Matrix4& dest,
bool forGpuProgram =
false) = 0;
1102 bool forGpuProgram) = 0;
1174 bool twoSidedOperation =
false) = 0;
1309 size_t right = 800,
size_t bottom = 600) = 0;
1320 Real depth = 1.0f,
unsigned short stencil = 0) = 0;
1377 float multiplier = 0.0f,
float slopeScale = 0.0f)
1379 mDerivedDepthBias = derive;
1380 mDerivedDepthBiasBase = baseValue;
1381 mDerivedDepthBiasMultiplier = multiplier;
1382 mDerivedDepthBiasSlopeScale = slopeScale;
Class for loading & managing textures.
GpuProgramParametersSharedPtr mActiveComputeGpuProgramParameters
virtual void destroyHardwareOcclusionQuery(HardwareOcclusionQuery *hq)
Destroy a hardware occlusion query object.
virtual void setLightingEnabled(bool enabled)=0
Sets whether or not dynamic lighting is enabled.
@ SOP_DECREMENT_WRAP
Decrease the stencil value by 1, wrapping when decrementing 0.
virtual void setConfigOption(const String &name, const String &value)=0
Sets an option for this API.
float mDerivedDepthBiasBase
Class representing the state of a single texture unit during a Pass of a Technique,...
virtual void _setViewMatrix(const Matrix4 &m)=0
Sets the view transform matrix.
size_t mGlobalNumberOfInstances
the number of global instances (this number will be multiply by the render op instance number)
Defines the functionality of a 3D API.
RenderTargetPriorityMap mPrioritisedRenderTargets
The render targets, ordered by priority.
void setGlobalInstanceVertexBufferVertexDeclaration(VertexDeclaration *val)
Sets vertex declaration for the global vertex buffer for the global instancing.
map< uint16, DepthBufferVec >::type DepthBufferMap
const RenderSystemCapabilities * getCapabilities(void) const
Gets the capabilities of the render system.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
virtual void _setTextureUnitFiltering(size_t unit, FilterType ftype, FilterOptions filter)=0
Sets a single filter for a given texture unit.
GpuProgramParametersSharedPtr mActiveTesselationDomainGpuProgramParameters
Defines a plane in 3D space.
virtual void setDepthBufferFor(RenderTarget *renderTarget)
Retrieves an existing DepthBuffer or creates a new one suited for the given RenderTarget and sets it.
virtual void _setDepthBufferCheckEnabled(bool enabled=true)=0
Sets whether or not the depth buffer check is performed before a pixel write.
multimap< uchar, RenderTarget * >::type RenderTargetPriorityMap
virtual bool _createRenderWindows(const RenderWindowDescriptionList &renderWindowDescriptions, RenderWindowList &createdWindows)
Creates multiple rendering windows.
An abstract class that contains a depth/stencil buffer.
@ SOP_DECREMENT
Decrease the stencil value by 1, clamping at 0.
@ TEXCALC_ENVIRONMENT_MAP
Environment map based on vertex normals.
bool mEnableFixedPipeline
is fixed pipeline enabled
This is a abstract class that that provides the interface for the query class for hardware occlusion.
virtual void _setDepthBufferWriteEnabled(bool enabled=true)=0
Sets whether or not the depth buffer is updated after a pixel write.
virtual void _setTextureUnitFiltering(size_t unit, FilterOptions minFilter, FilterOptions magFilter, FilterOptions mipFilter)
Sets the filtering options for a given texture unit.
virtual void beginProfileEvent(const String &eventName)=0
This marks the beginning of an event for GPU profiling.
A viewpoint from which the scene will be rendered.
virtual ~RenderSystem()
Destructor.
virtual bool isGpuProgramBound(GpuProgramType gptype)
Returns whether or not a Gpu program of the given type is currently bound.
virtual void _makeProjectionMatrix(const Radian &fovy, Real aspect, Real nearPlane, Real farPlane, Matrix4 &dest, bool forGpuProgram=false)=0
Builds a perspective projection matrix suitable for this render system.
virtual void shutdown(void)
Shutdown the renderer and cleanup resources.
virtual Real getMinimumDepthInputValue(void)=0
Gets the minimum (closest) depth value to be used when rendering using identity transforms.
virtual void bindGpuProgramPassIterationParameters(GpuProgramType gptype)=0
Only binds Gpu program parameters used for passes that have more than one iteration rendering.
virtual void _makeOrthoMatrix(const Radian &fovy, Real aspect, Real nearPlane, Real farPlane, Matrix4 &dest, bool forGpuProgram=false)=0
Builds an orthographic projection matrix suitable for this render system.
virtual void _setTextureProjectionRelativeTo(bool enabled, const Vector3 &pos)
Notify the rendersystem that it should adjust texture projection to be relative to a different origin...
virtual void markProfileEvent(const String &event)=0
Marks an instantaneous event for graphics profilers.
virtual void eventOccurred(const String &eventName, const NameValuePairList *parameters=0)=0
A rendersystem-specific event occurred.
virtual void useCustomRenderSystemCapabilities(RenderSystemCapabilities *capabilities)
Force the render system to use the special capabilities.
@ TEXCALC_NONE
No calculated texture coordinates.
bool mDerivedDepthBias
Whether to update the depth bias per render call.
GpuProgramParametersSharedPtr mActiveFragmentGpuProgramParameters
virtual void setClipPlanes(const PlaneList &clipPlanes)
Sets the user clipping region.
virtual void _updateAllRenderTargets(bool swapBuffers=true)
Internal method for updating all render targets attached to this rendering system.
StringVector mEventNames
List of names of events this rendersystem may raise.
vector< String >::type StringVector
void _cleanupDepthBuffers(bool bCleanManualBuffers=true)
Removes all depth buffers.
virtual void _setTextureUnitCompareFunction(size_t unit, CompareFunction function)=0
Sets the compare function to use for a given texture unit.
Manages the target rendering window.
GpuProgramParametersSharedPtr mActiveTesselationHullGpuProgramParameters
size_t mDisabledTexUnitsFrom
Texture units from this upwards are disabled.
bool mFragmentProgramBound
vector< RenderWindowDescription >::type RenderWindowDescriptionList
Render window creation parameters container.
virtual VertexElementType getColourVertexElementType(void) const =0
Get the native VertexElementType for a compact 32-bit colour value for this rendersystem.
@ SOP_ZERO
Set the stencil value to zero.
virtual void _setDepthBias(float constantBias, float slopeScaleBias=0.0f)=0
Sets the depth bias, NB you should use the Material version of this.
virtual void _render(const RenderOperation &op)
Render something to the active viewport.
bool mComputeProgramBound
Defines a program which runs on the GPU such as a vertex or fragment program.
virtual CullingMode _getCullingMode(void) const
virtual void _setTextureCoordSet(size_t unit, size_t index)=0
Sets the texture coordinate set to use for a texture unit.
virtual void _setTextureMipmapBias(size_t unit, float bias)=0
Sets the mipmap bias value for a given texture unit.
virtual void setCurrentPassIterationCount(const size_t count)
set the current multi pass count value.
virtual void _makeProjectionMatrix(Real left, Real right, Real bottom, Real top, Real nearPlane, Real farPlane, Matrix4 &dest, bool forGpuProgram=false)=0
Builds a perspective projection matrix for the case when frustum is not centered around camera.
virtual void _setWorldMatrix(const Matrix4 &m)=0
Sets the world transform matrix.
virtual void convertColourValue(const ColourValue &colour, uint32 *pDest)
Generates a packed data version of the passed in ColourValue suitable for use as with this RenderSyst...
virtual unsigned int _getFaceCount(void) const
Reports the number of tris rendered since the last _beginGeometryCount call.
GpuProgramParametersSharedPtr mActiveVertexGpuProgramParameters
The Active GPU programs and gpu program parameters.
virtual void preExtraThreadsStarted()=0
Tell the rendersystem to perform any prep tasks it needs to directly before other threads which might...
virtual void _endFrame(void)=0
Ends rendering of a frame to the current viewport.
virtual MultiRenderTarget * createMultiRenderTarget(const String &name)=0
Create a MultiRenderTarget, which is a render target that renders to multiple RenderTextures at once.
virtual unsigned int _getBatchCount(void) const
Reports the number of batches rendered since the last _beginGeometryCount call.
RenderSystemCapabilities * mRealCapabilities
Used to store the capabilities of the graphics card.
@ SOP_KEEP
Leave the stencil buffer unchanged.
bool mInvertVertexWinding
virtual void destroyRenderTexture(const String &name)
Destroys a render texture.
virtual void _setColourBufferWriteEnabled(bool red, bool green, bool blue, bool alpha)=0
Sets whether or not colour buffer writing is enabled, and for which channels.
VertexDeclaration * getGlobalInstanceVertexBufferVertexDeclaration() const
Gets vertex declaration for the global vertex buffer for the global instancing.
virtual void _setVertexTexture(size_t unit, const TexturePtr &tex)
Binds a texture to a vertex sampler.
virtual void _setSceneBlending(SceneBlendFactor sourceFactor, SceneBlendFactor destFactor, SceneBlendOperation op=SBO_ADD)=0
Sets the global blending factors for combining subsequent renders with the existing frame contents.
virtual RenderTarget * getRenderTarget(const String &name)
Returns a pointer to the render target with the passed name, or NULL if that render target cannot be ...
virtual void _setPointSpritesEnabled(bool enabled)=0
Sets whether or not rendering points using OT_POINT_LIST will render point sprites (textured quads) o...
virtual Real getVerticalTexelOffset(void)=0
Returns the vertical texel offset value required for mapping texel origins to pixel origins in this r...
HardwareVertexBufferSharedPtr getGlobalInstanceVertexBuffer() const
Returns the global instance vertex buffer.
virtual void _setRenderTarget(RenderTarget *target)=0
Set current render target to target, enabling its device context if needed.
MapIterator< Ogre::RenderTargetMap > RenderTargetIterator
Iterator over RenderTargets.
@ TEXCALC_PROJECTIVE_TEXTURE
Projective texture.
uint16 mNativeShadingLanguageVersion
DepthBufferMap mDepthBufferPool
DepthBuffers to be attached to render targets.
virtual void _notifyCameraRemoved(const Camera *cam)
Utility method to notify all render targets that a camera has been removed, in case they were referri...
Class which manages blending of both colour and alpha components.
map< String, String >::type NameValuePairList
Name / value parameter pair (first = name, second = value)
virtual void endProfileEvent(void)=0
Ends the currently active GPU profiling event.
virtual void _resumeFrame(RenderSystemContext *context)
Resume rendering for a frame.
CompareFunction
Comparison functions used for the depth/stencil buffer operations and others.
GpuProgramType
Enumerates the types of programs which can run on the GPU.
virtual void _setTextureBlendMode(size_t unit, const LayerBlendModeEx &bm)=0
Sets the texture blend modes from a TextureUnitState record.
virtual void _setTextureAddressingMode(size_t unit, const TextureUnitState::UVWAddressingMode &uvw)=0
Sets the texture addressing mode for a texture unit.
Records the state of all the vertex buffer bindings required to provide a vertex declaration with the...
virtual Real getMaximumDepthInputValue(void)=0
Gets the maximum (farthest) depth value to be used when rendering using identity transforms.
virtual void _beginGeometryCount(void)
The RenderSystem will keep a count of tris rendered, this resets the count.
bool updatePassIterationRenderState(void)
updates pass iteration rendering state including bound gpu program parameter pass iteration auto cons...
virtual void _setSurfaceParams(const ColourValue &ambient, const ColourValue &diffuse, const ColourValue &specular, const ColourValue &emissive, Real shininess, TrackVertexColourType tracking=TVC_NONE)=0
Sets the surface properties to be used for future rendering.
VertexElementType
Vertex element type, used to identify the base types of the vertex contents.
virtual void _setWorldMatrices(const Matrix4 *m, unsigned short count)
Sets multiple world matrices (vertex blending).
StencilOperation
Enum describing the various actions which can be taken on the stencil buffer.
virtual void _setTextureMatrix(size_t unit, const Matrix4 &xform)=0
Sets the texture coordinate transformation matrix for a texture unit.
virtual void setShadingType(ShadeOptions so)=0
Sets the type of light shading required (default = Gouraud).
Class encapsulating a standard 4x4 homogeneous matrix.
A 'canvas' which can receive the results of a rendering operation.
map< String, ConfigOption >::type ConfigOptionMap
SceneBlendFactor
Blending factors for manually blending objects with the scene.
virtual void setInvertVertexWinding(bool invert)
Sets whether or not vertex windings set should be inverted; this can be important for rendering refle...
@ SOP_INCREMENT_WRAP
Increase the stencil value by 1, wrapping back to 0 when incrementing the maximum value.
virtual DepthBuffer * _createDepthBufferFor(RenderTarget *renderTarget)=0
Creates a DepthBuffer that can be attached to the specified RenderTarget.
bool getFixedPipelineEnabled(void) const
Returns true if fixed pipeline rendering is enabled on the system.
virtual bool areFixedFunctionLightsInViewSpace() const
Are fixed-function lights provided in view space? Affects optimisation.
Viewport * mActiveViewport
virtual void _convertProjectionMatrix(const Matrix4 &matrix, Matrix4 &dest, bool forGpuProgram=false)=0
Converts a uniform projection matrix to suitable for this render system.
virtual void setAmbientLight(float r, float g, float b)=0
Sets the colour & strength of the ambient (global directionless) light in the world.
An abstraction of a viewport, i.e.
virtual bool hasAnisotropicMipMapFilter() const =0
Determines if the system has anisotropic mip map filter support.
@ TEXCALC_ENVIRONMENT_MAP_PLANAR
Environment map based on vertex positions.
virtual void postExtraThreadsStarted()=0
This class declares the format of a set of vertex inputs, which can be issued to the rendering API th...
virtual void bindGpuProgramParameters(GpuProgramType gptype, GpuProgramParametersSharedPtr params, uint16 variabilityMask)=0
Bind Gpu program parameters.
Shared pointer implementation used to share vertex buffers.
bool mUseCustomCapabilities
virtual void addClipPlane(Real A, Real B, Real C, Real D)
Add a user clipping plane.
virtual void _setFog(FogMode mode=FOG_NONE, const ColourValue &colour=ColourValue::White, Real expDensity=1.0, Real linearStart=0.0, Real linearEnd=1.0)=0
Sets the fogging mode for future geometry.
virtual unsigned int getDisplayMonitorCount() const =0
Gets the number of display monitors.
@ SOP_INCREMENT
Increase the stencil value by 1, clamping at the maximum value.
virtual void removeListener(Listener *l)
Remove a listener to the custom events that this render system can raise.
virtual String validateConfigOptions(void)=0
Validates the options set for the rendering system, returning a message if there are problems.
vector< RenderWindow * >::type RenderWindowList
Render window container.
size_t mCurrentPassIterationCount
number of times to render the current state
virtual unsigned int _getVertexCount(void) const
Reports the number of vertices passed to the renderer since the last _beginGeometryCount call.
bool mGeometryProgramBound
@ TEXCALC_ENVIRONMENT_MAP_REFLECTION
FilterOptions
Filtering options for textures / mipmaps.
Wrapper class which indicates a given angle value is in Radians.
virtual void addListener(Listener *l)
Adds a listener to the custom events that this render system can raise.
virtual const String & getName(void) const =0
Returns the name of the rendering system.
virtual void reinitialise(void)=0
Restart the renderer (normally following a change in settings).
bool mTesselationHullProgramBound
virtual void _setProjectionMatrix(const Matrix4 &m)=0
Sets the projection transform matrix.
virtual void _useLights(const LightList &lights, unsigned short limit)=0
Tells the rendersystem to use the attached set of lights (and no others) up to the number specified (...
singleton class for storing the capabilities of the graphics card.
Vector3 mTexProjRelativeOrigin
virtual void resetClipPlanes()
Clears the user clipping region.
float mDerivedDepthBiasMultiplier
virtual RenderSystemContext * _pauseFrame(void)
Pause rendering for a frame.
virtual void setStencilCheckEnabled(bool enabled)=0
Turns stencil buffer checking on or off.
This class represents a render target that renders to multiple RenderTextures at once.
@ SOP_REPLACE
Set the stencil value to the reference value.
CullingMode
Hardware culling modes based on vertex winding.
virtual void _initRenderTargets(void)
Utility method for initialising all render targets attached to this rendering system.
virtual void setVertexDeclaration(VertexDeclaration *decl)=0
Sets the current vertex declaration, ie the source of vertex data.
virtual void _setCullingMode(CullingMode mode)=0
Sets the culling mode for the render system based on the 'vertex winding'.
virtual void _setDepthBufferFunction(CompareFunction func=CMPF_LESS_EQUAL)=0
Sets the comparison function for the depth buffer check.
virtual const String & _getDefaultViewportMaterialScheme(void) const
Returns the default material scheme used by the render system.
virtual bool getInvertVertexWinding(void) const
Indicates whether or not the vertex windings set will be inverted for the current render (e....
int TrackVertexColourType
An enumeration describing which material properties should track the vertex colours.
virtual void _swapAllRenderTargetBuffers()
Internal method for swapping all the buffers on all render targets, if _updateAllRenderTargets was ca...
virtual void setStencilBufferParams(CompareFunction func=CMPF_ALWAYS_PASS, uint32 refValue=0, uint32 compareMask=0xFFFFFFFF, uint32 writeMask=0xFFFFFFFF, StencilOperation stencilFailOp=SOP_KEEP, StencilOperation depthFailOp=SOP_KEEP, StencilOperation passOp=SOP_KEEP, bool twoSidedOperation=false)=0
Determines if this system supports hardware accelerated stencil buffer.
static const ColourValue White
A frustum represents a pyramid, capped at the near and far end which is used to represent either a vi...
GpuProgramParametersSharedPtr mActiveGeometryGpuProgramParameters
VertexDeclaration * mGlobalInstanceVertexBufferVertexDeclaration
a vertex declaration for the global vertex buffer for the global instancing
TextureManager * mTextureManager
Concrete IteratorWrapper for nonconst access to the underlying key-value container.
virtual Viewport * _getViewport(void)
Get the current active viewport for rendering.
size_t getGlobalNumberOfInstances() const
Gets the global number of instances.
#define OGRE_MAX_TEXTURE_LAYERS
Define max number of texture layers allowed per pass on any card.
void setFixedPipelineEnabled(bool enabled)
Sets if fixed pipeline rendering is enabled on the system.
Class representing colour.
virtual void setDeriveDepthBias(bool derive, float baseValue=0.0f, float multiplier=0.0f, float slopeScale=0.0f)
Tell the render system whether to derive a depth bias on its own based on the values passed to it in ...
virtual void _setTextureBorderColour(size_t unit, const ColourValue &colour)=0
Sets the texture border colour for a texture unit.
virtual void setScissorTest(bool enabled, size_t left=0, size_t top=0, size_t right=800, size_t bottom=600)=0
Sets the 'scissor region' i.e.
void setGlobalInstanceVertexBuffer(const HardwareVertexBufferSharedPtr &val)
Sets the global instance vertex buffer.
list< HardwareOcclusionQuery * >::type HardwareOcclusionQueryList
RenderTargetMap mRenderTargets
The render targets.
DriverVersion mDriverVersion
virtual void _applyObliqueDepthProjection(Matrix4 &matrix, const Plane &plane, bool forGpuProgram)=0
Update a perspective projection matrix to use 'oblique depth projection'.
virtual RenderWindow * _createRenderWindow(const String &name, unsigned int width, unsigned int height, bool fullScreen, const NameValuePairList *miscParams=0)=0
Creates a new rendering window.
virtual void unregisterThread()=0
Unregister an additional thread which may make calls to rendersystem-related objects.
HardwareVertexBufferSharedPtr mGlobalInstanceVertexBuffer
a global vertex buffer for global instancing
virtual void _beginFrame(void)=0
Signifies the beginning of a frame, i.e.
virtual RenderTarget * detachRenderTarget(const String &name)
Detaches the render target with the passed name from the render system and returns a pointer to it.
virtual void _setViewport(Viewport *vp)=0
Sets the provided viewport as the active one for future rendering operations.
virtual void destroyRenderTarget(const String &name)
Destroys a render target of any sort.
bool mTesselationDomainProgramBound
size_t mCurrentPassIterationNum
virtual void _setTextureCoordCalculation(size_t unit, TexCoordCalcMethod m, const Frustum *frustum=0)=0
Sets a method for automatically calculating texture coordinates for a stage.
RenderSystem()
Default Constructor.
virtual RenderTargetIterator getRenderTargetIterator(void)
Returns a specialised MapIterator over all render targets attached to the RenderSystem.
static const ColourValue Black
virtual void setNormaliseNormals(bool normalise)=0
Sets whether or not normals are to be automatically normalised.
virtual void getCustomAttribute(const String &name, void *pData)
Gets a custom (maybe platform-specific) attribute.
ShadeOptions
Light shading modes.
virtual Real getHorizontalTexelOffset(void)=0
Returns the horizontal texel offset value required for mapping texel origins to pixel origins in this...
virtual void setClipPlanesImpl(const PlaneList &clipPlanes)=0
Internal method used to set the underlying clip planes when needed.
virtual const StringVector & getRenderSystemEvents(void) const
Gets a list of the rendersystem specific events that this rendersystem can raise.
virtual void _setTextureUnitCompareEnabled(size_t unit, bool compare)=0
Sets whether the compare func is enabled or not for this texture unit.
Texture addressing mode for each texture coordinate.
vector< DepthBuffer * >::type DepthBufferVec
@ SOP_INVERT
Invert the bits of the stencil buffer.
virtual void initialiseFromRenderSystemCapabilities(RenderSystemCapabilities *caps, RenderTarget *primary)=0
Initialize the render system from the capabilities.
float Real
Software floating point type.
virtual void _setTexture(size_t unit, bool enabled, const TexturePtr &texPtr)=0
Sets the texture to bind to a given texture unit.
virtual void fireEvent(const String &name, const NameValuePairList *params=0)
Internal method for firing a rendersystem event.
RenderSystemCapabilities * getMutableCapabilities()
Get a pointer to the current capabilities being used by the RenderSystem.
virtual String getErrorDescription(long errorNumber) const =0
Returns a description of an error code.
virtual void _setPointParameters(Real size, bool attenuationEnabled, Real constant, Real linear, Real quadratic, Real minSize, Real maxSize)=0
Sets the size of points and how they are attenuated with distance.
virtual void destroyRenderWindow(const String &name)
Destroys a render window.
virtual void _setPolygonMode(PolygonMode level)=0
Sets how to rasterise triangles, as points, wireframe or solid polys.
virtual void clearFrameBuffer(unsigned int buffers, const ColourValue &colour=ColourValue::Black, Real depth=1.0f, unsigned short stencil=0)=0
Clears one or more frame buffers on the active render target.
uint16 getNativeShadingLanguageVersion() const
Gets the native shading language version for this render system.
float mDerivedDepthBiasSlopeScale
virtual void _setTexture(size_t unit, bool enabled, const String &texname)
Sets the texture to bind to a given texture unit.
ListenerList mEventListeners
virtual void _disableTextureUnit(size_t texUnit)
Turns off a texture unit.
@ TEXCALC_ENVIRONMENT_MAP_NORMAL
virtual const DriverVersion & getDriverVersion(void) const
Returns the driver version.
list< Listener * >::type ListenerList
TexCoordCalcMethod
Enum describing the ways to generate texture coordinates.
virtual void _disableTextureUnitsFrom(size_t texUnit)
Disables all texture units from the given unit upwards.
void setWBufferEnabled(bool enabled)
Sets whether or not W-buffers are enabled if they are available for this renderer.
RenderSystemCapabilities * mCurrentCapabilities
virtual void registerThread()=0
Register the an additional thread which may make calls to rendersystem-related objects.
map< String, RenderTarget * >::type RenderTargetMap
virtual ConfigOptionMap & getConfigOptions(void)=0
Returns the details of this API's configuration options.
RenderTarget * mActiveRenderTarget
The Active render target.
virtual void addClipPlane(const Plane &p)
Add a user clipping plane.
virtual void _setAlphaRejectSettings(CompareFunction func, unsigned char value, bool alphaToCoverage)=0
Sets the global alpha rejection approach for future renders.
void setGlobalNumberOfInstances(const size_t val)
Sets the global number of instances.
bool getWBufferEnabled(void) const
Returns true if the renderer will try to use W-buffers when available.
virtual void bindGpuProgram(GpuProgram *prg)
Binds a given GpuProgram (but not the parameters).
virtual void unbindGpuProgram(GpuProgramType gptype)
Unbinds GpuPrograms of a given GpuProgramType.
vector< Plane >::type PlaneList
PolygonMode
The polygon mode to use when rasterising.
Standard 3-dimensional vector.
'New' rendering operation using vertex buffers.
DriverVersion is used by RenderSystemCapabilities and both GL and D3D9 to store the version of the cu...
virtual void setVertexBufferBinding(VertexBufferBinding *binding)=0
Sets the current vertex buffer binding state.
virtual bool isStaticBufferLockable() const
Defines a listener on the custom events that this render system can raise.
virtual RenderSystemCapabilities * createRenderSystemCapabilities() const =0
Query the real capabilities of the GPU and driver in the RenderSystem.
SceneBlendOperation
Blending operations controls how objects are blended into the scene.
virtual RenderWindow * _initialise(bool autoCreateWindow, const String &windowTitle="OGRE Render Window")
Start up the renderer using the settings selected (Or the defaults if none have been selected).
virtual void attachRenderTarget(RenderTarget &target)
Attaches the passed render target to the render system.
virtual void _setTextureLayerAnisotropy(size_t unit, unsigned int maxAnisotropy)=0
Sets the maximal anisotropy for the specified texture unit.
virtual void _setTextureUnitSettings(size_t texUnit, TextureUnitState &tl)
Utility function for setting all the properties of a texture unit at once.
virtual void _setDepthBufferParams(bool depthTest=true, bool depthWrite=true, CompareFunction depthFunction=CMPF_LESS_EQUAL)=0
Sets the mode of operation for depth buffer tests from this point onwards.
HardwareOcclusionQueryList mHwOcclusionQueries
virtual void _setSeparateSceneBlending(SceneBlendFactor sourceFactor, SceneBlendFactor destFactor, SceneBlendFactor sourceFactorAlpha, SceneBlendFactor destFactorAlpha, SceneBlendOperation op=SBO_ADD, SceneBlendOperation alphaOp=SBO_ADD)=0
Sets the global blending factors for combining subsequent renders with the existing frame contents.
virtual HardwareOcclusionQuery * createHardwareOcclusionQuery(void)=0
Create an object for performing hardware occlusion queries.
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.