Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DirectCompute support #27

Open
walbourn opened this issue Jan 31, 2018 · 1 comment
Open

DirectCompute support #27

walbourn opened this issue Jan 31, 2018 · 1 comment

Comments

@walbourn
Copy link
Member

walbourn commented Jan 31, 2018

Similar to the IEffect interface and the built-in shaders, we could create a set of DirectCompute shaders as well--which is easier done with DirectX Tool Kit for DX12 since all supported feature levels can do DirectCompute 5.0 or better.

Possible built-in compute shaders:

  • AdaptExposure
  • Ambient occlusion
  • Average luminance
  • Bitonic sort
  • Bloom
  • Blur
  • Depth-of-field
  • FXAA
  • Histogram
  • Motion blur

A number of these fall into the existing PostProcess class, but would do it via DirectCompute instead of a Pixel shader.

@walbourn
Copy link
Member Author

walbourn commented Jan 31, 2018

Proposed design of the high-level interface:

class ICompute
{
public:
    virtual ~ICompute() = default;

    virtual void __cdecl Dispatch(
        _In_ ID3D12GraphicsCommandList* commandList,
        uint32_t ThreadGroupCountX,
        uint32_t ThreadGroupCountY,
        uint32_t ThreadGroupCountZ) = 0;
        };
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant