Urho3D::Graphics Class Reference
Public Member Functions |
Static Public Member Functions |
Private Member Functions |
Private Attributes |
Static Private Attributes |
List of all members
Urho3D::Graphics Class Reference
Graphics subsystem. Manages the application window, rendering state and GPU resources. More...
#include <Urho3D/Graphics/Graphics.h>
Inheritance diagram for Urho3D::Graphics:
Collaboration diagram for Urho3D::Graphics:
Public Member Functions | |
| Graphics (Context *context) | |
| Construct. | |
| virtual | ~Graphics () |
| Destruct. Release the Direct3D11 device and close the window. | |
| void | SetExternalWindow (void *window) |
| Set external window handle. Only effective before setting the initial screen mode. | |
| void | SetWindowTitle (const String &windowTitle) |
| Set window title. | |
| void | SetWindowIcon (Image *windowIcon) |
| Set window icon. | |
| void | SetWindowPosition (const IntVector2 &position) |
| Set window position. Sets initial position if window is not created yet. | |
| void | SetWindowPosition (int x, int y) |
| Set window position. Sets initial position if window is not created yet. | |
| bool | SetMode (int width, int height, bool fullscreen, bool borderless, bool resizable, bool highDPI, bool vsync, bool tripleBuffer, int multiSample, int monitor, int refreshRate) |
| Set screen mode. Return true if successful. | |
| bool | SetMode (int width, int height) |
| Set screen resolution only. Return true if successful. | |
| void | SetSRGB (bool enable) |
| Set whether the main window uses sRGB conversion on write. | |
| void | SetDither (bool enable) |
| Set whether rendering output is dithered. Default true on OpenGL. No effect on Direct3D. | |
| void | SetFlushGPU (bool enable) |
| Set whether to flush the GPU command buffer to prevent multiple frames being queued and uneven frame timesteps. Default off, may decrease performance if enabled. Not currently implemented on OpenGL. | |
| void | SetForceGL2 (bool enable) |
| Set forced use of OpenGL 2 even if OpenGL 3 is available. Must be called before setting the screen mode for the first time. Default false. No effect on Direct3D9 & 11. | |
| void | SetOrientations (const String &orientations) |
| Set allowed screen orientations as a space-separated list of "LandscapeLeft", "LandscapeRight", "Portrait" and "PortraitUpsideDown". Affects currently only iOS platform. | |
| bool | ToggleFullscreen () |
| Toggle between full screen and windowed mode. Return true if successful. | |
| void | Close () |
| Close the window. | |
| bool | TakeScreenShot (Image &destImage) |
| Take a screenshot. Return true if successful. | |
| bool | BeginFrame () |
| Begin frame rendering. Return true if device available and can render. | |
| void | EndFrame () |
| End frame rendering and swap buffers. | |
| void | Clear (unsigned flags, const Color &color=Color(0.0f, 0.0f, 0.0f, 0.0f), float depth=1.0f, unsigned stencil=0) |
| Clear any or all of rendertarget, depth buffer and stencil buffer. More... | |
| bool | ResolveToTexture (Texture2D *destination, const IntRect &viewport) |
| Resolve multisampled backbuffer to a texture rendertarget. The texture's size should match the viewport size. | |
| bool | ResolveToTexture (Texture2D *texture) |
| Resolve a multisampled texture on itself. | |
| bool | ResolveToTexture (TextureCube *texture) |
| Resolve a multisampled cube texture on itself. | |
| void | Draw (PrimitiveType type, unsigned vertexStart, unsigned vertexCount) |
| Draw non-indexed geometry. | |
| void | Draw (PrimitiveType type, unsigned indexStart, unsigned indexCount, unsigned minVertex, unsigned vertexCount) |
| Draw indexed geometry. | |
| void | Draw (PrimitiveType type, unsigned indexStart, unsigned indexCount, unsigned baseVertexIndex, unsigned minVertex, unsigned vertexCount) |
| Draw indexed geometry with vertex index offset. | |
| void | DrawInstanced (PrimitiveType type, unsigned indexStart, unsigned indexCount, unsigned minVertex, unsigned vertexCount, unsigned instanceCount) |
| Draw indexed, instanced geometry. An instancing vertex buffer must be set. | |
| void | DrawInstanced (PrimitiveType type, unsigned indexStart, unsigned indexCount, unsigned baseVertexIndex, unsigned minVertex, unsigned vertexCount, unsigned instanceCount) |
| Draw indexed, instanced geometry with vertex index offset. | |
| void | SetVertexBuffer (VertexBuffer *buffer) |
| Set vertex buffer. | |
| bool | SetVertexBuffers (const PODVector< VertexBuffer * > &buffers, unsigned instanceOffset=0) |
| Set multiple vertex buffers. | |
| bool | SetVertexBuffers (const Vector< SharedPtr< VertexBuffer > > &buffers, unsigned instanceOffset=0) |
| Set multiple vertex buffers. | |
| void | SetIndexBuffer (IndexBuffer *buffer) |
| Set index buffer. | |
| void | SetShaders (ShaderVariation *vs, ShaderVariation *ps) |
| Set shaders. | |
| void | SetShaderParameter (StringHash param, const float *data, unsigned count) |
| Set shader float constants. | |
| void | SetShaderParameter (StringHash param, float value) |
| Set shader float constant. | |
| void | SetShaderParameter (StringHash param, int value) |
| Set shader integer constant. | |
| void | SetShaderParameter (StringHash param, bool value) |
| Set shader boolean constant. | |
| void | SetShaderParameter (StringHash param, const Color &color) |
| Set shader color constant. | |
| void | SetShaderParameter (StringHash param, const Vector2 &vector) |
| Set shader 2D vector constant. | |
| void | SetShaderParameter (StringHash param, const Matrix3 &matrix) |
| Set shader 3x3 matrix constant. | |
| void | SetShaderParameter (StringHash param, const Vector3 &vector) |
| Set shader 3D vector constant. | |
| void | SetShaderParameter (StringHash param, const Matrix4 &matrix) |
| Set shader 4x4 matrix constant. | |
| void | SetShaderParameter (StringHash param, const Vector4 &vector) |
| Set shader 4D vector constant. | |
| void | SetShaderParameter (StringHash param, const Matrix3x4 &matrix) |
| Set shader 3x4 matrix constant. | |
| void | SetShaderParameter (StringHash param, const Variant &value) |
| Set shader constant from a variant. Supported variant types: bool, float, vector2, vector3, vector4, color. | |
| bool | NeedParameterUpdate (ShaderParameterGroup group, const void *source) |
| Check whether a shader parameter group needs update. Does not actually check whether parameters exist in the shaders. | |
| bool | HasShaderParameter (StringHash param) |
| Check whether a shader parameter exists on the currently set shaders. | |
| bool | HasTextureUnit (TextureUnit unit) |
| Check whether the current vertex or pixel shader uses a texture unit. | |
| void | ClearParameterSource (ShaderParameterGroup group) |
| Clear remembered shader parameter source group. | |
| void | ClearParameterSources () |
| Clear remembered shader parameter sources. | |
| void | ClearTransformSources () |
| Clear remembered transform shader parameter sources. | |
| void | SetTexture (unsigned index, Texture *texture) |
| Set texture. | |
| void | SetTextureForUpdate (Texture *texture) |
| Bind texture unit 0 for update. Called by Texture. Used only on OpenGL. | |
| void | SetTextureParametersDirty () |
| Dirty texture parameters of all textures (when global settings change.) | |
| void | SetDefaultTextureFilterMode (TextureFilterMode mode) |
| Set default texture filtering mode. Called by Renderer before rendering. | |
| void | SetDefaultTextureAnisotropy (unsigned level) |
| Set default texture anisotropy level. Called by Renderer before rendering. | |
| void | ResetRenderTargets () |
| Reset all rendertargets, depth-stencil surface and viewport. | |
| void | ResetRenderTarget (unsigned index) |
| Reset specific rendertarget. | |
| void | ResetDepthStencil () |
| Reset depth-stencil surface. | |
| void | SetRenderTarget (unsigned index, RenderSurface *renderTarget) |
| Set rendertarget. | |
| void | SetRenderTarget (unsigned index, Texture2D *texture) |
| Set rendertarget. | |
| void | SetDepthStencil (RenderSurface *depthStencil) |
| Set depth-stencil surface. | |
| void | SetDepthStencil (Texture2D *texture) |
| Set depth-stencil surface. | |
| void | SetViewport (const IntRect &rect) |
| Set viewport. | |
| void | SetBlendMode (BlendMode mode, bool alphaToCoverage=false) |
| Set blending and alpha-to-coverage modes. Alpha-to-coverage is not supported on Direct3D9. | |
| void | SetColorWrite (bool enable) |
| Set color write on/off. | |
| void | SetCullMode (CullMode mode) |
| Set hardware culling mode. | |
| void | SetDepthBias (float constantBias, float slopeScaledBias) |
| Set depth bias. | |
| void | SetDepthTest (CompareMode mode) |
| Set depth compare. | |
| void | SetDepthWrite (bool enable) |
| Set depth write on/off. | |
| void | SetFillMode (FillMode mode) |
| Set polygon fill mode. | |
| void | SetLineAntiAlias (bool enable) |
| Set line antialiasing on/off. | |
| void | SetScissorTest (bool enable, const Rect &rect=Rect::FULL, bool borderInclusive=true) |
| Set scissor test. | |
| void | SetScissorTest (bool enable, const IntRect &rect) |
| Set scissor test. | |
| void | SetStencilTest (bool enable, CompareMode mode=CMP_ALWAYS, StencilOp pass=OP_KEEP, StencilOp fail=OP_KEEP, StencilOp zFail=OP_KEEP, unsigned stencilRef=0, unsigned compareMask=M_MAX_UNSIGNED, unsigned writeMask=M_MAX_UNSIGNED) |
| Set stencil test. | |
| void | SetClipPlane (bool enable, const Plane &clipPlane=Plane::UP, const Matrix3x4 &view=Matrix3x4::IDENTITY, const Matrix4 &projection=Matrix4::IDENTITY) |
| Set a custom clipping plane. The plane is specified in world space, but is dependent on the view and projection matrices. | |
| void | BeginDumpShaders (const String &fileName) |
| Begin dumping shader variation names to an XML file for precaching. | |
| void | EndDumpShaders () |
| End dumping shader variations names. | |
| void | PrecacheShaders (Deserializer &source) |
| Precache shader variations from an XML file generated with BeginDumpShaders(). | |
| void | SetShaderCacheDir (const String &path) |
| Set shader cache directory, Direct3D only. This can either be an absolute path or a path within the resource system. | |
| bool | IsInitialized () const |
| Return whether rendering initialized. | |
| GraphicsImpl * | GetImpl () const |
| Return graphics implementation, which holds the actual API-specific resources. | |
| void * | GetExternalWindow () const |
| Return OS-specific external window handle. Null if not in use. | |
| SDL_Window * | GetWindow () const |
| Return SDL window. | |
| const String & | GetWindowTitle () const |
| Return window title. | |
| const String & | GetApiName () const |
| Return graphics API name. | |
| IntVector2 | GetWindowPosition () const |
| Return window position. | |
| int | GetWidth () const |
| Return window width in pixels. | |
| int | GetHeight () const |
| Return window height in pixels. | |
| int | GetMultiSample () const |
| Return multisample mode (1 = no multisampling.) | |
| IntVector2 | GetSize () const |
| Return window size in pixels. | |
| bool | GetFullscreen () const |
| Return whether window is fullscreen. | |
| bool | GetBorderless () const |
| Return whether window is borderless. | |
| bool | GetResizable () const |
| Return whether window is resizable. | |
| bool | GetHighDPI () const |
| Return whether window is high DPI. | |
| bool | GetVSync () const |
| Return whether vertical sync is on. | |
| int | GetRefreshRate () const |
| Return refresh rate when using vsync in fullscreen. | |
| int | GetMonitor () const |
| Return the current monitor index. Effective on in fullscreen. | |
| bool | GetTripleBuffer () const |
| Return whether triple buffering is enabled. | |
| bool | GetSRGB () const |
| Return whether the main window is using sRGB conversion on write. | |
| bool | GetDither () const |
| Return whether rendering output is dithered. | |
| bool | GetFlushGPU () const |
| Return whether the GPU command buffer is flushed each frame. | |
| bool | GetForceGL2 () const |
| Return whether OpenGL 2 use is forced. Effective only on OpenGL. | |
| const String & | GetOrientations () const |
| Return allowed screen orientations. | |
| bool | IsDeviceLost () const |
| Return whether graphics context is lost and can not render or load GPU resources. | |
| unsigned | GetNumPrimitives () const |
| Return number of primitives drawn this frame. | |
| unsigned | GetNumBatches () const |
| Return number of batches drawn this frame. | |
| unsigned | GetDummyColorFormat () const |
| Return dummy color texture format for shadow maps. Is "NULL" (consume no video memory) if supported. | |
| unsigned | GetShadowMapFormat () const |
| Return shadow map depth texture format, or 0 if not supported. | |
| unsigned | GetHiresShadowMapFormat () const |
| Return 24-bit shadow map depth texture format, or 0 if not supported. | |
| bool | GetInstancingSupport () const |
| Return whether hardware instancing is supported. | |
| bool | GetLightPrepassSupport () const |
| Return whether light pre-pass rendering is supported. | |
| bool | GetDeferredSupport () const |
| Return whether deferred rendering is supported. | |
| bool | GetAnisotropySupport () const |
| Return whether anisotropic texture filtering is supported. | |
| bool | GetHardwareShadowSupport () const |
| Return whether shadow map depth compare is done in hardware. | |
| bool | GetReadableDepthSupport () const |
| Return whether a readable hardware depth format is available. | |
| bool | GetSRGBSupport () const |
| Return whether sRGB conversion on texture sampling is supported. | |
| bool | GetSRGBWriteSupport () const |
| Return whether sRGB conversion on rendertarget writing is supported. | |
| PODVector< IntVector3 > | GetResolutions (int monitor) const |
| Return supported fullscreen resolutions (third component is refreshRate). Will be empty if listing the resolutions is not supported on the platform (e.g. Web). | |
| PODVector< int > | GetMultiSampleLevels () const |
| Return supported multisampling levels. | |
| IntVector2 | GetDesktopResolution (int monitor) const |
| Return the desktop resolution. | |
| int | GetMonitorCount () const |
| Return the number of currently connected monitors. | |
| unsigned | GetFormat (CompressedFormat format) const |
| Return hardware format for a compressed image format, or 0 if unsupported. | |
| ShaderVariation * | GetShader (ShaderType type, const String &name, const String &defines=String::EMPTY) const |
| Return a shader variation by name and defines. | |
| ShaderVariation * | GetShader (ShaderType type, const char *name, const char *defines) const |
| Return a shader variation by name and defines. | |
| VertexBuffer * | GetVertexBuffer (unsigned index) const |
| Return current vertex buffer by index. | |
| IndexBuffer * | GetIndexBuffer () const |
| Return current index buffer. | |
| ShaderVariation * | GetVertexShader () const |
| Return current vertex shader. | |
| ShaderVariation * | GetPixelShader () const |
| Return current pixel shader. | |
| ShaderProgram * | GetShaderProgram () const |
| Return shader program. This is an API-specific class and should not be used by applications. | |
| TextureUnit | GetTextureUnit (const String &name) |
| Return texture unit index by name. | |
| const String & | GetTextureUnitName (TextureUnit unit) |
| Return texture unit name by index. | |
| Texture * | GetTexture (unsigned index) const |
| Return current texture by texture unit index. | |
| TextureFilterMode | GetDefaultTextureFilterMode () const |
| Return default texture filtering mode. | |
| unsigned | GetDefaultTextureAnisotropy () const |
| Return default texture max. anisotropy level. | |
| RenderSurface * | GetRenderTarget (unsigned index) const |
| Return current rendertarget by index. | |
| RenderSurface * | GetDepthStencil () const |
| Return current depth-stencil surface. | |
| IntRect | GetViewport () const |
| Return the viewport coordinates. | |
| BlendMode | GetBlendMode () const |
| Return blending mode. | |
| bool | GetAlphaToCoverage () const |
| Return whether alpha-to-coverage is enabled. | |
| bool | GetColorWrite () const |
| Return whether color write is enabled. | |
| CullMode | GetCullMode () const |
| Return hardware culling mode. | |
| float | GetDepthConstantBias () const |
| Return depth constant bias. | |
| float | GetDepthSlopeScaledBias () const |
| Return depth slope scaled bias. | |
| CompareMode | GetDepthTest () const |
| Return depth compare mode. | |
| bool | GetDepthWrite () const |
| Return whether depth write is enabled. | |
| FillMode | GetFillMode () const |
| Return polygon fill mode. | |
| bool | GetLineAntiAlias () const |
| Return whether line antialiasing is enabled. | |
| bool | GetStencilTest () const |
| Return whether stencil test is enabled. | |
| bool | GetScissorTest () const |
| Return whether scissor test is enabled. | |
| const IntRect & | GetScissorRect () const |
| Return scissor rectangle coordinates. | |
| CompareMode | GetStencilTestMode () const |
| Return stencil compare mode. | |
| StencilOp | GetStencilPass () const |
| Return stencil operation to do if stencil test passes. | |
| StencilOp | GetStencilFail () const |
| Return stencil operation to do if stencil test fails. | |
| StencilOp | GetStencilZFail () const |
| Return stencil operation to do if depth compare fails. | |
| unsigned | GetStencilRef () const |
| Return stencil reference value. | |
| unsigned | GetStencilCompareMask () const |
| Return stencil compare bitmask. | |
| unsigned | GetStencilWriteMask () const |
| Return stencil write bitmask. | |
| bool | GetUseClipPlane () const |
| Return whether a custom clipping plane is in use. | |
| const String & | GetShaderCacheDir () const |
| Return shader cache directory, Direct3D only. | |
| IntVector2 | GetRenderTargetDimensions () const |
| Return current rendertarget width and height. | |
| void | OnWindowResized () |
| Window was resized through user interaction. Called by Input subsystem. | |
| void | OnWindowMoved () |
| Window was moved through user interaction. Called by Input subsystem. | |
| void | Restore () |
| Restore GPU objects and reinitialize state. Requires an open window. Used only on OpenGL. | |
| void | Maximize () |
| Maximize the window. | |
| void | Minimize () |
| Minimize the window. | |
| void | AddGPUObject (GPUObject *object) |
| Add a GPU object to keep track of. Called by GPUObject. | |
| void | RemoveGPUObject (GPUObject *object) |
| Remove a GPU object. Called by GPUObject. | |
| void * | ReserveScratchBuffer (unsigned size) |
| Reserve a CPU-side scratch buffer. | |
| void | FreeScratchBuffer (void *buffer) |
| Free a CPU-side scratch buffer. | |
| void | CleanupScratchBuffers () |
| Clean up too large scratch buffers. | |
| void | CleanupShaderPrograms (ShaderVariation *variation) |
| Clean up shader parameters when a shader variation is released or destroyed. | |
| void | CleanupRenderSurface (RenderSurface *surface) |
| Clean up a render surface from all FBOs. Used only on OpenGL. | |
| ConstantBuffer * | GetOrCreateConstantBuffer (ShaderType type, unsigned index, unsigned size) |
| Get or create a constant buffer. Will be shared between shaders if possible. | |
| void | MarkFBODirty () |
| Mark the FBO needing an update. Used only on OpenGL. | |
| void | SetVBO (unsigned object) |
| Bind a VBO, avoiding redundant operation. Used only on OpenGL. | |
| void | SetUBO (unsigned object) |
| Bind a UBO, avoiding redundant operation. Used only on OpenGL. | |
Public Member Functions inherited from Urho3D::Object | |
| Object (Context *context) | |
| Construct. | |
| virtual | ~Object () |
| Destruct. Clean up self from event sender & receiver structures. | |
| virtual StringHash | GetType () const =0 |
| Return type hash. | |
| virtual const String & | GetTypeName () const =0 |
| Return type name. | |
| virtual const TypeInfo * | GetTypeInfo () const =0 |
| Return type info. | |
| virtual void | OnEvent (Object *sender, StringHash eventType, VariantMap &eventData) |
| Handle event. | |
| bool | IsInstanceOf (StringHash type) const |
| Check current instance is type of specified type. | |
| bool | IsInstanceOf (const TypeInfo *typeInfo) const |
| Check current instance is type of specified type. | |
| template<typename T > | |
| bool | IsInstanceOf () const |
| Check current instance is type of specified class. | |
| void | SubscribeToEvent (StringHash eventType, EventHandler *handler) |
| Subscribe to an event that can be sent by any sender. | |
| void | SubscribeToEvent (Object *sender, StringHash eventType, EventHandler *handler) |
| Subscribe to a specific sender's event. | |
| void | UnsubscribeFromEvent (StringHash eventType) |
| Unsubscribe from an event. | |
| void | UnsubscribeFromEvent (Object *sender, StringHash eventType) |
| Unsubscribe from a specific sender's event. | |
| void | UnsubscribeFromEvents (Object *sender) |
| Unsubscribe from a specific sender's events. | |
| void | UnsubscribeFromAllEvents () |
| Unsubscribe from all events. | |
| void | UnsubscribeFromAllEventsExcept (const PODVector< StringHash > &exceptions, bool onlyUserData) |
| Unsubscribe from all events except those listed, and optionally only those with userdata (script registered events.) | |
| void | SendEvent (StringHash eventType) |
| Send event to all subscribers. | |
| void | SendEvent (StringHash eventType, VariantMap &eventData) |
| Send event with parameters to all subscribers. | |
| VariantMap & | GetEventDataMap () const |
| Return a preallocated map for event data. Used for optimization to avoid constant re-allocation of event data maps. | |
| Context * | GetContext () const |
| Return execution context. | |
| const Variant & | GetGlobalVar (StringHash key) const |
| Return global variable based on key. | |
| const VariantMap & | GetGlobalVars () const |
| Return all global variables. | |
| void | SetGlobalVar (StringHash key, const Variant &value) |
| Set global variable with the respective key and value. | |
| Object * | GetSubsystem (StringHash type) const |
| Return subsystem by type. | |
| Object * | GetEventSender () const |
| Return active event sender. Null outside event handling. | |
| EventHandler * | GetEventHandler () const |
| Return active event handler. Null outside event handling. | |
| bool | HasSubscribedToEvent (StringHash eventType) const |
| Return whether has subscribed to an event without specific sender. | |
| bool | HasSubscribedToEvent (Object *sender, StringHash eventType) const |
| Return whether has subscribed to a specific sender's event. | |
| bool | HasEventHandlers () const |
| Return whether has subscribed to any event. | |
| template<class T > | |
| T * | GetSubsystem () const |
| Template version of returning a subsystem. | |
| const String & | GetCategory () const |
| Return object category. Categories are (optionally) registered along with the object factory. Return an empty string if the object category is not registered. | |
Public Member Functions inherited from Urho3D::RefCounted | |
| RefCounted () | |
| Construct. Allocate the reference count structure and set an initial self weak reference. | |
| virtual | ~RefCounted () |
| Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist. | |
| void | AddRef () |
| Increment reference count. Can also be called outside of a SharedPtr for traditional reference counting. | |
| void | ReleaseRef () |
| Decrement reference count and delete self if no more references. Can also be called outside of a SharedPtr for traditional reference counting. | |
| int | Refs () const |
| Return reference count. | |
| int | WeakRefs () const |
| Return weak reference count. | |
| RefCount * | RefCountPtr () |
| Return pointer to the reference count structure. | |
Static Public Member Functions | |
| static unsigned | GetAlphaFormat () |
| Return the API-specific alpha texture format. | |
| static unsigned | GetLuminanceFormat () |
| Return the API-specific luminance texture format. | |
| static unsigned | GetLuminanceAlphaFormat () |
| Return the API-specific luminance alpha texture format. | |
| static unsigned | GetRGBFormat () |
| Return the API-specific RGB texture format. | |
| static unsigned | GetRGBAFormat () |
| Return the API-specific RGBA texture format. | |
| static unsigned | GetRGBA16Format () |
| Return the API-specific RGBA 16-bit texture format. | |
| static unsigned | GetRGBAFloat16Format () |
| Return the API-specific RGBA 16-bit float texture format. | |
| static unsigned | GetRGBAFloat32Format () |
| Return the API-specific RGBA 32-bit float texture format. | |
| static unsigned | GetRG16Format () |
| Return the API-specific RG 16-bit texture format. | |
| static unsigned | GetRGFloat16Format () |
| Return the API-specific RG 16-bit float texture format. | |
| static unsigned | GetRGFloat32Format () |
| Return the API-specific RG 32-bit float texture format. | |
| static unsigned | GetFloat16Format () |
| Return the API-specific single channel 16-bit float texture format. | |
| static unsigned | GetFloat32Format () |
| Return the API-specific single channel 32-bit float texture format. | |
| static unsigned | GetLinearDepthFormat () |
| Return the API-specific linear depth texture format. | |
| static unsigned | GetDepthStencilFormat () |
| Return the API-specific hardware depth-stencil texture format. | |
| static unsigned | GetReadableDepthFormat () |
| Return the API-specific readable hardware depth format, or 0 if not supported. | |
| static unsigned | GetFormat (const String &formatName) |
| Return the API-specific texture format from a textual description, for example "rgb". | |
| static const Vector2 & | GetPixelUVOffset () |
| Return UV offset required for pixel perfect rendering. | |
| static unsigned | GetMaxBones () |
| Return maximum number of supported bones for skinning. | |
| static bool | GetGL3Support () |
| Return whether is using an OpenGL 3 context. Return always false on Direct3D9 & Direct3D11. | |
Static Public Member Functions inherited from Urho3D::Object | |
| static const TypeInfo * | GetTypeInfoStatic () |
| Return type info static. | |
Private Member Functions | |
| URHO3D_OBJECT (Graphics, Object) | |
| bool | OpenWindow (int width, int height, bool resizable, bool borderless) |
| Create the application window. | |
| void | CreateWindowIcon () |
| Create the application window icon. | |
| void | AdjustWindow (int &newWidth, int &newHeight, bool &newFullscreen, bool &newBorderless, int &monitor) |
| Adjust the window for new resolution and fullscreen mode. | |
| bool | CreateDevice (int width, int height, int multiSample) |
| Create the Direct3D11 device and swap chain. Requires an open window. Can also be called again to recreate swap chain. Return true on success. | |
| bool | UpdateSwapChain (int width, int height) |
| Update Direct3D11 swap chain state for a new mode and create views for the backbuffer & default depth buffer. Return true on success. | |
| bool | CreateInterface () |
| Create the Direct3D9 interface. | |
| bool | CreateDevice (unsigned adapter, unsigned deviceType) |
| Create the Direct3D9 device. | |
| void | ResetDevice () |
| Reset the Direct3D9 device. | |
| void | OnDeviceLost () |
| Notify all GPU resources so they can release themselves as needed. Used only on Direct3D9. | |
| void | OnDeviceReset () |
| Notify all GPU resources so they can recreate themselves as needed. Used only on Direct3D9. | |
| void | SetStreamFrequency (unsigned index, unsigned frequency) |
| Set vertex buffer stream frequency. Used only on Direct3D9. | |
| void | ResetStreamFrequencies () |
| Reset stream frequencies. Used only on Direct3D9. | |
| void | CheckFeatureSupport () |
| Check supported rendering features. | |
| void | ResetCachedState () |
| Reset cached rendering state. | |
| void | SetTextureUnitMappings () |
| Initialize texture unit mappings. | |
| void | PrepareDraw () |
| Process dirtied state before draw. | |
| void | CreateResolveTexture () |
| Create intermediate texture for multisampled backbuffer resolve. No-op if already exists. | |
| void | CleanupFramebuffers () |
| Clean up all framebuffers. Called when destroying the context. Used only on OpenGL. | |
| unsigned | CreateFramebuffer () |
| Create a framebuffer using either extension or core functionality. Used only on OpenGL. | |
| void | DeleteFramebuffer (unsigned fbo) |
| Delete a framebuffer using either extension or core functionality. Used only on OpenGL. | |
| void | BindFramebuffer (unsigned fbo) |
| Bind a framebuffer using either extension or core functionality. Used only on OpenGL. | |
| void | BindColorAttachment (unsigned index, unsigned target, unsigned object, bool isRenderBuffer) |
| Bind a framebuffer color attachment using either extension or core functionality. Used only on OpenGL. | |
| void | BindDepthAttachment (unsigned object, bool isRenderBuffer) |
| Bind a framebuffer depth attachment using either extension or core functionality. Used only on OpenGL. | |
| void | BindStencilAttachment (unsigned object, bool isRenderBuffer) |
| Bind a framebuffer stencil attachment using either extension or core functionality. Used only on OpenGL. | |
| bool | CheckFramebuffer () |
| Check FBO completeness using either extension or core functionality. Used only on OpenGL. | |
| void | SetVertexAttribDivisor (unsigned location, unsigned divisor) |
| Set vertex attrib divisor. No-op if unsupported. Used only on OpenGL. | |
| void | Release (bool clearGPUObjects, bool closeWindow) |
| Release/clear GPU objects and optionally close the window. Used only on OpenGL. | |
Private Attributes | |
| Mutex | gpuObjectMutex_ |
| Mutex for accessing the GPU objects vector from several threads. | |
| GraphicsImpl * | impl_ |
| Implementation. | |
| SDL_Window * | window_ |
| SDL window. | |
| String | windowTitle_ |
| Window title. | |
| WeakPtr< Image > | windowIcon_ |
| Window icon image. | |
| void * | externalWindow_ |
| External window, null if not in use (default.) | |
| int | width_ |
| Window width in pixels. | |
| int | height_ |
| Window height in pixels. | |
| IntVector2 | position_ |
| Window position. | |
| int | multiSample_ |
| Multisampling mode. | |
| bool | fullscreen_ |
| Fullscreen flag. | |
| bool | borderless_ |
| Borderless flag. | |
| bool | resizable_ |
| Resizable flag. | |
| bool | highDPI_ |
| High DPI flag. | |
| bool | vsync_ |
| Vertical sync flag. | |
| int | refreshRate_ |
| Refresh rate in Hz. Only used in fullscreen, 0 when windowed. | |
| int | monitor_ |
| Monitor index. Only used in fullscreen, 0 when windowed. | |
| bool | tripleBuffer_ |
| Triple buffering flag. | |
| bool | flushGPU_ |
| Flush GPU command buffer flag. | |
| bool | forceGL2_ |
| Force OpenGL 2 flag. Only used on OpenGL. | |
| bool | sRGB_ |
| sRGB conversion on write flag for the main window. | |
| bool | lightPrepassSupport_ |
| Light pre-pass rendering support flag. | |
| bool | deferredSupport_ |
| Deferred rendering support flag. | |
| bool | anisotropySupport_ |
| Anisotropic filtering support flag. | |
| bool | dxtTextureSupport_ |
| DXT format support flag. | |
| bool | etcTextureSupport_ |
| ETC1 format support flag. | |
| bool | pvrtcTextureSupport_ |
| PVRTC formats support flag. | |
| bool | hardwareShadowSupport_ |
| Hardware shadow map depth compare support flag. | |
| bool | instancingSupport_ |
| Instancing support flag. | |
| bool | sRGBSupport_ |
| sRGB conversion on read support flag. | |
| bool | sRGBWriteSupport_ |
| sRGB conversion on write support flag. | |
| unsigned | numPrimitives_ |
| Number of primitives this frame. | |
| unsigned | numBatches_ |
| Number of batches this frame. | |
| unsigned | maxScratchBufferRequest_ |
| Largest scratch buffer request this frame. | |
| PODVector< GPUObject * > | gpuObjects_ |
| GPU objects. | |
| Vector< ScratchBuffer > | scratchBuffers_ |
| Scratch buffers. | |
| unsigned | dummyColorFormat_ |
| Shadow map dummy color texture format. | |
| unsigned | shadowMapFormat_ |
| Shadow map depth texture format. | |
| unsigned | hiresShadowMapFormat_ |
| Shadow map 24-bit depth texture format. | |
| VertexBuffer * | vertexBuffers_ [MAX_VERTEX_STREAMS] |
| Vertex buffers in use. | |
| IndexBuffer * | indexBuffer_ |
| Index buffer in use. | |
| unsigned long long | vertexDeclarationHash_ |
| Current vertex declaration hash. | |
| unsigned | primitiveType_ |
| Current primitive type. | |
| ShaderVariation * | vertexShader_ |
| Vertex shader in use. | |
| ShaderVariation * | pixelShader_ |
| Pixel shader in use. | |
| Texture * | textures_ [MAX_TEXTURE_UNITS] |
| Textures in use. | |
| HashMap< String, TextureUnit > | textureUnits_ |
| Texture unit mappings. | |
| RenderSurface * | renderTargets_ [MAX_RENDERTARGETS] |
| Rendertargets in use. | |
| RenderSurface * | depthStencil_ |
| Depth-stencil surface in use. | |
| IntRect | viewport_ |
| Viewport coordinates. | |
| TextureFilterMode | defaultTextureFilterMode_ |
| Default texture filtering mode. | |
| unsigned | defaultTextureAnisotropy_ |
| Default texture max. anisotropy level. | |
| BlendMode | blendMode_ |
| Blending mode. | |
| bool | alphaToCoverage_ |
| Alpha-to-coverage enable. | |
| bool | colorWrite_ |
| Color write enable. | |
| CullMode | cullMode_ |
| Hardware culling mode. | |
| float | constantDepthBias_ |
| Depth constant bias. | |
| float | slopeScaledDepthBias_ |
| Depth slope scaled bias. | |
| CompareMode | depthTestMode_ |
| Depth compare mode. | |
| bool | depthWrite_ |
| Depth write enable flag. | |
| bool | lineAntiAlias_ |
| Line antialiasing enable flag. | |
| FillMode | fillMode_ |
| Polygon fill mode. | |
| bool | scissorTest_ |
| Scissor test enable flag. | |
| IntRect | scissorRect_ |
| Scissor test rectangle. | |
| CompareMode | stencilTestMode_ |
| Stencil test compare mode. | |
| StencilOp | stencilPass_ |
| Stencil operation on pass. | |
| StencilOp | stencilFail_ |
| Stencil operation on fail. | |
| StencilOp | stencilZFail_ |
| Stencil operation on depth fail. | |
| unsigned | stencilRef_ |
| Stencil test reference value. | |
| unsigned | stencilCompareMask_ |
| Stencil compare bitmask. | |
| unsigned | stencilWriteMask_ |
| Stencil write bitmask. | |
| Vector4 | clipPlane_ |
| Current custom clip plane in post-projection space. | |
| bool | stencilTest_ |
| Stencil test enable flag. | |
| bool | useClipPlane_ |
| Custom clip plane enable flag. | |
| const void * | shaderParameterSources_ [MAX_SHADER_PARAMETER_GROUPS] |
| Remembered shader parameter sources. | |
| String | shaderPath_ |
| Base directory for shaders. | |
| String | shaderCacheDir_ |
| Cache directory for Direct3D binary shaders. | |
| String | shaderExtension_ |
| File extension for shaders. | |
| WeakPtr< Shader > | lastShader_ |
| Last used shader in shader variation query. | |
| String | lastShaderName_ |
| Last used shader name in shader variation query. | |
| SharedPtr< ShaderPrecache > | shaderPrecache_ |
| Shader precache utility. | |
| String | orientations_ |
| Allowed screen orientations. | |
| String | apiName_ |
| Graphics API name. | |
Static Private Attributes | |
| static const Vector2 | pixelUVOffset |
| Pixel perfect UV offset. | |
| static bool | gl3Support = false |
| OpenGL3 support flag. | |
Additional Inherited Members | |
Protected Attributes inherited from Urho3D::Object | |
| Context * | context_ |
| Execution context. | |
Detailed Description
Graphics subsystem. Manages the application window, rendering state and GPU resources.
Member Function Documentation
| void Urho3D::Graphics::Clear | ( | unsigned | flags, |
| const Color & | color = Color(0.0f, 0.0f, 0.0f, 0.0f), |
||
| float | depth = 1.0f, |
||
| unsigned | stencil = 0 |
||
| ) |
Clear any or all of rendertarget, depth buffer and stencil buffer.
- Todo:
- Any user-set scissor test will be lost
Here is the call graph for this function:
Here is the caller graph for this function:
The documentation for this class was generated from the following files:
- Source/Urho3D/Graphics/Graphics.h
- Source/Urho3D/Graphics/Graphics.cpp
- Source/Urho3D/Graphics/OpenGL/OGLGraphics.cpp

Public Member Functions inherited from