使用着色器进行繁重的计算

时间:2015-02-06 22:58:25

标签: unity3d vertex vertex-shader compute-shader

几乎所有关于网络的教程,都在为不同的纹理或扭曲视图教授着色器。但是我想把它用于其他目的。在每个框架中,我有大约1000个对象,我想在下面计算每个对象:

        for (int i=0; i<planeRotation.Count; i++) {
        oc =new Plane (new Vector3 (0, 0, 0),new Vector3 (0, 0, -1),new Vector3 (0, 1, 0));
        Quaternion Qangle = Quaternion.AngleAxis (planeRotation [i], new Vector3 (0f, 1.0f, 0f));
        occluder.normal = Qangle * originalPlaneNormal;
        List<C_Object> side1 = new List<C_Object> ();
        for (int c=0; c<c_object.Count; c++) {
            if (oc.GetSide c_object[c].Position-this.Position))
                side1.Add (c_object[c]);
        }

    }

但问题是我不知道如何将其作为着色器实现!我知道它应该在计算着色器中,但我找不到一个非常简单的例子。如果你告诉我如何在给定的输入数组上进行这种简单的计算,那对我来说会很棒。

谢谢。

0 个答案:

没有答案