Class GraphicsDeviceManager
Used to initialize and control the presentation of the graphics device.
public class GraphicsDeviceManager : IGraphicsDeviceService, IDisposable, IGraphicsDeviceManager
- Inheritance
-
GraphicsDeviceManager
- Implements
- Inherited Members
Constructors
GraphicsDeviceManager(Game)
Associates this graphics device manager to a game instances.
public GraphicsDeviceManager(Game game)
Parameters
game
GameThe game instance to attach.
Fields
DefaultBackBufferHeight
The default back buffer height.
public static readonly int DefaultBackBufferHeight
Field Value
DefaultBackBufferWidth
The default back buffer width.
public static readonly int DefaultBackBufferWidth
Field Value
Properties
GraphicsDevice
Returns the graphics device for this manager.
public GraphicsDevice GraphicsDevice { get; }
Property Value
GraphicsProfile
The profile which determines the graphics feature level.
public GraphicsProfile GraphicsProfile { get; set; }
Property Value
HardwareModeSwitch
Gets or sets the boolean which defines how window switches from windowed to fullscreen state.
"Hard" mode(true) is slow to switch, but more effecient for performance, while "soft" mode(false) is vice versa.
The default value is true
.
public bool HardwareModeSwitch { get; set; }
Property Value
IsFullScreen
Indicates the desire to switch into fullscreen mode.
public bool IsFullScreen { get; set; }
Property Value
Remarks
When called at startup this will automatically set fullscreen mode during initialization. If set after startup you must call ApplyChanges() for the fullscreen mode to be changed. Note that for some platforms that do not support windowed modes this property has no affect.
PreferHalfPixelOffset
Indicates if DX9 style pixel addressing or current standard
pixel addressing should be used. This flag is set to
false
by default. It should be set to true
for XNA compatibility. It is recommended to leave this flag
set to false
for projects that are not ported from
XNA. This value is passed to UseHalfPixelOffset.
public bool PreferHalfPixelOffset { get; set; }
Property Value
Remarks
XNA uses DirectX9 for its graphics. DirectX9 interprets UV
coordinates differently from other graphics API's. This is
typically referred to as the half-pixel offset. MonoGame
replicates XNA behavior if this flag is set to true
.
PreferMultiSampling
Indicates the desire for a multisampled back buffer.
public bool PreferMultiSampling { get; set; }
Property Value
Remarks
When called at startup this will automatically set the MSAA mode during initialization. If set after startup you must call ApplyChanges() for the MSAA mode to be changed.
PreferredBackBufferFormat
Indicates the desired back buffer color format.
public SurfaceFormat PreferredBackBufferFormat { get; set; }
Property Value
Remarks
When called at startup this will automatically set the format during initialization. If set after startup you must call ApplyChanges() for the format to be changed.
PreferredBackBufferHeight
Indicates the desired back buffer height in pixels.
public int PreferredBackBufferHeight { get; set; }
Property Value
Remarks
When called at startup this will automatically set the height during initialization. If set after startup you must call ApplyChanges() for the height to be changed.
PreferredBackBufferWidth
Indicates the desired back buffer width in pixels.
public int PreferredBackBufferWidth { get; set; }
Property Value
Remarks
When called at startup this will automatically set the width during initialization. If set after startup you must call ApplyChanges() for the width to be changed.
PreferredDepthStencilFormat
Indicates the desired depth-stencil buffer format.
public DepthFormat PreferredDepthStencilFormat { get; set; }
Property Value
Remarks
The depth-stencil buffer format defines the scene depth precision and stencil bits available for effects during rendering. When called at startup this will automatically set the format during initialization. If set after startup you must call ApplyChanges() for the format to be changed.
SupportedOrientations
Indicates the desired allowable display orientations when the device is rotated.
public DisplayOrientation SupportedOrientations { get; set; }
Property Value
Remarks
This property only applies to mobile platforms with automatic display rotation. When called at startup this will automatically apply the supported orientations during initialization. If set after startup you must call ApplyChanges() for the supported orientations to be changed.
SynchronizeWithVerticalRetrace
Indicates the desire for vsync when presenting the back buffer.
public bool SynchronizeWithVerticalRetrace { get; set; }
Property Value
Remarks
Vsync limits the frame rate of the game to the monitor referesh rate to prevent screen tearing. When called at startup this will automatically set the vsync mode during initialization. If set after startup you must call ApplyChanges() for the vsync mode to be changed.
Methods
ApplyChanges()
Applies any pending property changes to the graphics device.
public void ApplyChanges()
BeginDraw()
Called at the start of rendering a frame.
public bool BeginDraw()
Returns
- bool
Returns true if the frame should be rendered.
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
Dispose(bool)
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
EndDraw()
Called after rendering to present the frame to the screen.
public void EndDraw()
~GraphicsDeviceManager()
protected ~GraphicsDeviceManager()
OnDeviceCreated(EventArgs)
Called when a GraphicsDevice is created. Raises the DeviceCreated event.
protected void OnDeviceCreated(EventArgs e)
Parameters
OnDeviceDisposing(EventArgs)
Called when a GraphicsDevice is disposed. Raises the DeviceDisposing event.
protected void OnDeviceDisposing(EventArgs e)
Parameters
OnDeviceReset(EventArgs)
Called after a GraphicsDevice is reset. Raises the DeviceReset event.
protected void OnDeviceReset(EventArgs e)
Parameters
OnDeviceResetting(EventArgs)
Called before a GraphicsDevice is reset. Raises the DeviceResetting event.
protected void OnDeviceResetting(EventArgs e)
Parameters
ToggleFullScreen()
Toggles between windowed and fullscreen modes.
public void ToggleFullScreen()
Remarks
Note that on platforms that do not support windowed modes this has no affect.
Events
DeviceCreated
Raised when a new GraphicsDevice has been created.
public event EventHandler<EventArgs> DeviceCreated
Event Type
DeviceDisposing
Raised when the GraphicsDevice is disposed.
public event EventHandler<EventArgs> DeviceDisposing
Event Type
DeviceReset
Raised when the GraphicsDevice has reset.
public event EventHandler<EventArgs> DeviceReset
Event Type
- See Also
-
Reset()
DeviceResetting
Raised before the GraphicsDevice is resetting.
public event EventHandler<EventArgs> DeviceResetting
Event Type
Disposed
Raised when this GraphicsDeviceManager is disposed.
public event EventHandler<EventArgs> Disposed
Event Type
PreparingDeviceSettings
Raised by CreateDevice() or ApplyChanges(). Allows users to override the PresentationParameters to pass to the GraphicsDevice.
public event EventHandler<PreparingDeviceSettingsEventArgs> PreparingDeviceSettings