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