Low-level API
Advanced Programmer
The @'Stride.Graphics.GraphicsDevice' class is the central class for displaying your game. It's used to create resources and present images on the screen. You can access it as a member of the @'Stride.Engine.Game' and @'Stride.Engine.ScriptComponent' classes.
Actions such as drawing, setting graphics states and using resources are recorded using @'Stride.Graphics.CommandList' objects for later execution by the device.
Many command lists can be filled at the same time (eg one per thread). A default command list is available as member of the @'Stride.Games.GameBase.GraphicsContext' of your @'Stride.Engine.Game'.
In methods, these objects are typically provided through contexts such as @'Stride.Rendering.RenderContext' and @'Stride.Rendering.RenderDrawContext'.
Performing any drawing requires multiple steps, including:
- setting textures as render textures, clearing them, and setting viewports and scissors
- setting up the graphics pipeline state, including input description, shaders, depth-stencil, blending, rasterizer, etc
- binding resources, such as constant buffers and textures
- drawing vertices using built-in primitives or custom vertex buffers