ComputeShader
Compute Shader asset.
Read time 5 minutesLast updated 2 days ago
Definition
- Type: Class
- Namespace: UnityEngine
- Assembly: UnityEngine.CoreModule
- Inherits from: Object
public sealed class ComputeShader : Object
Remarks
Compute shaders are programs that run on the GPU outside of the normal rendering pipeline. They correspond to compute shader assets in the project (.compute files).
Compute shader support can be queried runtime using SystemInfo.supportsComputeShaders. See Compute Shaders overview for more info about platforms supporting compute shaders.
Additional Resources: ComputeBuffer class, Compute Shaders overview.
Properties
Property | Description |
|---|---|
| enabledKeywords | An array containing the local shader keywords that are currently enabled for this compute shader. |
| keywordSpace | The local keyword space of this compute shader. |
| shaderKeywords | An array containing names of the local shader keywords that are currently enabled for this compute shader. |
Methods
Method | Description |
|---|---|
| DisableKeyword | Disables a local shader keyword for this compute shader. |
| Dispatch | Execute a compute shader. |
| DispatchIndirect | Execute a compute shader. |
| EnableKeyword | Enables a local shader keyword for this compute shader. |
| FindKernel | Find ComputeShader kernel index. |
| GetKernelThreadGroupSizes | Get kernel thread group sizes. |
| HasKernel | Checks whether a shader contains a given kernel. |
| IsKeywordEnabled | Checks whether a local shader keyword is enabled for this compute shader. |
| IsSupported | Allows you to check whether the current end user device supports the features required to run the specified compute shader kernel. |
| SetBool | Set a bool parameter. |
| SetBuffer | Sets an input or output compute buffer. |
| SetConstantBuffer | Sets a ComputeBuffer or GraphicsBuffer as a named constant buffer for the ComputeShader. |
| SetFloat | Set a float parameter. |
| SetFloats | Set multiple consecutive float parameters at once. |
| SetInt | Set an integer parameter. |
| SetInts | Set multiple consecutive integer parameters at once. |
| SetKeyword | Sets the state of a local shader keyword for this compute shader. |
| SetMatrix | Set a Matrix parameter. |
| SetMatrixArray | Set a Matrix array parameter. |
| SetRayTracingAccelerationStructure | Sets a RayTracingAccelerationStructure to be used for Inline Ray Tracing (Ray Queries). |
| SetTexture | Set a texture parameter. |
| SetTextureFromGlobal | Set a texture parameter from a global texture property. |
| SetVector | Set a vector parameter. |
| SetVectorArray | Set a vector array parameter. |
Inheritance
Operators
Operator | Description |
|---|---|
| operator == | Compares two object references to see if they refer to the same object. |
| bool | Determines whether the object exists. |
| operator != | Compares if two objects refer to a different object. |