diff options
| author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2018-07-05 15:47:29 -0300 |
|---|---|---|
| committer | gdkchan <gab.dark.100@gmail.com> | 2018-07-05 15:47:29 -0300 |
| commit | 97ca974213ec9564ed4a9c57e998ca726dbbb64f (patch) | |
| tree | 5daf598d267d3ce05f3ef342621e7f93536fa554 /Ryujinx.Graphics/Gal/IGalRasterizer.cs | |
| parent | c99b2884e4eb9adfb5b893ee84d7678262d19b06 (diff) | |
Implement some GPU features (#209)
* Implement stencil testing
* Implement depth testing
* Implement face culling
* Implement front face
* Comparison functions now take OGL enums too
* Fix front facing when flipping was used
* Add depth and stencil clear values
Diffstat (limited to 'Ryujinx.Graphics/Gal/IGalRasterizer.cs')
| -rw-r--r-- | Ryujinx.Graphics/Gal/IGalRasterizer.cs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Ryujinx.Graphics/Gal/IGalRasterizer.cs b/Ryujinx.Graphics/Gal/IGalRasterizer.cs index e0469382..586eae6b 100644 --- a/Ryujinx.Graphics/Gal/IGalRasterizer.cs +++ b/Ryujinx.Graphics/Gal/IGalRasterizer.cs @@ -8,16 +8,34 @@ namespace Ryujinx.Graphics.Gal bool IsIboCached(long Key, long DataSize); + void SetFrontFace(GalFrontFace FrontFace); + void EnableCullFace(); void DisableCullFace(); + void SetCullFace(GalCullFace CullFace); + void EnableDepthTest(); void DisableDepthTest(); void SetDepthFunction(GalComparisonOp Func); + void SetClearDepth(float Depth); + + void EnableStencilTest(); + + void DisableStencilTest(); + + void SetStencilFunction(bool IsFrontFace, GalComparisonOp Func, int Ref, int Mask); + + void SetStencilOp(bool IsFrontFace, GalStencilOp Fail, GalStencilOp ZFail, GalStencilOp ZPass); + + void SetStencilMask(bool IsFrontFace, int Mask); + + void SetClearStencil(int Stencil); + void CreateVbo(long Key, byte[] Buffer); void CreateIbo(long Key, byte[] Buffer); |
