一. 一个compute文件对应一个函数
二. C#里使用该函数,三大步骤:
1. 开辟ComputeBuffer
2. 把数据传入到ComputBuffer里
3. 执行函数
4. 接收函数执行结果
5. 释放ComputeBuffer
//Compute Shader代码, 后缀为.compute文件
#pragma kernel AddVectors
RWStructuredBuffer<Vector4> inputA;
RWStructuredBuffer<Vector4> inputB;
RWStructuredBuffer<Vector4> output;
[numthreads(64, 1, 1)]
void AddVectors(uint3 id : SV_DispatchThreadID)
{
output[id.x] = inputA[id.x] + inputB[id.x];
}
using UnityEngine;
using UnityEditor;
public class ComputeShaderExample : EditorWindow
{
public ComputeShader computeShader;
public int vectorCount = 1024;
private ComputeBuffer inputBufferA;
private ComputeBuffer inputBufferB;
private ComputeBuffer outputBuffer;
private void Calculate()
{
//

最低0.47元/天 解锁文章
481

被折叠的 条评论
为什么被折叠?



