コード例 #1
0
ファイル: RhoWarp.cs プロジェクト: dainsaint/rho-accelerated
    public void StepKernel(float time, float deltaTime, RhoBuffer buffer )
    {
        // GPGPU buffer swap
        buffer.Swap();

        Material m = kernel.material;
        m.SetVector("_TimeParams", new Vector2(time, deltaTime));

        // velocity update
        m.SetTexture("_PositionTex", buffer.positionIn);
        m.SetTexture("_VelocityTex", buffer.velocityIn);
        Graphics.Blit(null, buffer.velocityOut, m, 1);

        // position update
        m.SetTexture("_VelocityTex", buffer.velocityOut);
        Graphics.Blit(null, buffer.positionOut, m, 0);
    }
コード例 #2
0
ファイル: RhoWarp.cs プロジェクト: dainsaint/rho-accelerated
    public void StepKernel(float time, float deltaTime, RhoBuffer buffer)
    {
        // GPGPU buffer swap
        buffer.Swap();

        Material m = kernel.material;

        m.SetVector("_TimeParams", new Vector2(time, deltaTime));

        // velocity update
        m.SetTexture("_PositionTex", buffer.positionIn);
        m.SetTexture("_VelocityTex", buffer.velocityIn);
        Graphics.Blit(null, buffer.velocityOut, m, 1);

        // position update
        m.SetTexture("_VelocityTex", buffer.velocityOut);
        Graphics.Blit(null, buffer.positionOut, m, 0);
    }
コード例 #3
0
    void StepKernel(float time, float deltaTime)
    {
        buffer.Swap();

        Material m = kernel.material;

        m.SetVector("_Direction", direction);
        m.SetFloat("_Drag", drag);
        m.SetFloat("_Speed", speed);
        m.SetFloat("_RandomSeed", _randomSeed);
        m.SetFloat("_Rate", rate);

        m.SetVector("_TimeParams", new Vector2(time, deltaTime));


        // velocity update
        m.SetTexture("_PositionTex", buffer.positionIn);
        m.SetTexture("_VelocityTex", buffer.velocityIn);
        Graphics.Blit(null, buffer.velocityOut, m, 3);

        // position update
        m.SetTexture("_VelocityTex", buffer.velocityOut);
        Graphics.Blit(null, buffer.positionOut, m, 2);
    }