예제 #1
0
    public override void Bind()
    {
        set.BindPrimaryForm("_VertBuffer", Points);
        set.BindForm("_ConnectionBuffer", Connections);


        force.BindPrimaryForm("_VertBuffer", Points);
        force.BindForm("_ConnectionBuffer", Connections);


        constraint.BindPrimaryForm("_VertBuffer", Points);
        constraint.BindForm("_ConnectionBuffer", Connections);


        resolve.BindPrimaryForm("_VertBuffer", Points);
        resolve.BindForm("_ConnectionBuffer", Connections);


        pass.BindPrimaryForm("_VertBuffer", Points);
        pass.BindForm("_ConnectionBuffer", Connections);



        force.BindFloats("_Transform", () => this.transformArray);
        constraint.BindFloats("_Transform", () => this.transformArray);
        resolve.BindFloats("_Transform", () => this.transformArray);
        set.BindFloats("_Transform", () => this.transformArray);
        pass.BindFloats("_Transform", () => this.transformArray);

        data.BindCameraData(force);
        data.BindRayData(force);
        data.BindPlayerData(force);
    }
예제 #2
0
    public override void Bind()
    {
        set.BindPrimaryForm("_VertBuffer", Hair);
        set.BindForm("_BaseBuffer", Base);

        collision.BindPrimaryForm("_VertBuffer", Hair);
        collision.BindForm("_BaseBuffer", Base);

        constraint0.BindInt("_Pass", 0);
        constraint0.BindPrimaryForm("_VertBuffer", Hair);
        constraint0.BindInt("_NumVertsPerHair", () => Hair.numVertsPerHair);

        constraint1.BindInt("_Pass", 1);
        constraint1.BindPrimaryForm("_VertBuffer", Hair);
        constraint1.BindInt("_NumVertsPerHair", () => Hair.numVertsPerHair);

        set.BindFloat("_HairLength", () => Hair.length);
        set.BindFloat("_HairVariance", () => Hair.variance);
        set.BindInt("_NumVertsPerHair", () => Hair.numVertsPerHair);

        // Don't need to bind for all of them ( constraints ) because same shader
        collision.BindFloat("_HairLength", () => Hair.length);
        collision.BindFloat("_HairVariance", () => Hair.variance);
        collision.BindInt("_NumVertsPerHair", () => Hair.numVertsPerHair);
        collision.BindFloats("_Transform", () => this.transformArray);

        data.BindCameraData(collision);
    }
예제 #3
0
    public override void Bind()
    {
        set.BindPrimaryForm("_VertBuffer", Hair);
        set.BindForm("_BaseBuffer", Base);
        force.BindInt("_HairsPerVert", () => (int)Hair.countMultiplier);

        force.BindPrimaryForm("_VertBuffer", Hair);
        force.BindForm("_BaseBuffer", Base);
        force.BindInt("_NumVertsPerHair", () => Hair.numVertsPerHair);
        force.BindInt("_HairsPerVert", () => (int)Hair.countMultiplier);

        constraint.BindPrimaryForm("_VertBuffer", Hair);
        constraint.BindInt("_NumVertsPerHair", () => Hair.numVertsPerHair);

        resolve.BindPrimaryForm("_VertBuffer", Hair);
        resolve.BindInt("_NumVertsPerHair", () => Hair.numVertsPerHair);


        pass.BindPrimaryForm("_VertBuffer", Hair);
        pass.BindInt("_NumVertsPerHair", () => Hair.numVertsPerHair);

        set.BindFloat("_HairLength", () => Hair.length);
        set.BindFloat("_HairVariance", () => Hair.variance);
        set.BindInt("_NumVertsPerHair", () => Hair.numVertsPerHair);

        // Don't need to bind for all of them ( constraints ) because same shader
        force.BindFloat("_HairLength", () => Hair.length);
        force.BindFloat("_HairVariance", () => Hair.variance);
        force.BindInt("_NumVertsPerHair", () => Hair.numVertsPerHair);
        force.BindFloats("_Transform", () => this.transformArray);

        data.BindCameraData(force);
    }