示例#1
0
        public void Evaluate(int SpreadMax)
        {
            if (!FInFieldTripFunction.IsChanged || !FEnabled[0])
            {
                return;
            }
            FHLSL[0] = "";
            FOutCustomSemantic.SliceCount   = 0;
            FOutResourceSemantic.SliceCount = 0;
            SF3D ftFunc = FInFieldTripFunction[0];

            if (ftFunc != null)
            {
                FHLSL[0] = ftFunc.HLSL;

                if (ftFunc.CustomSemantics.Count > 0)
                {
                    FOutCustomSemantic.AssignFrom(ftFunc.CustomSemantics);
                }

                if (ftFunc.ResourceSemantics.Count > 0)
                {
                    FOutResourceSemantic.AssignFrom(ftFunc.ResourceSemantics);
                }
            }
        }
示例#2
0
        public void Evaluate(int SpreadMax)
        {
            if (this.RenderRequest != null)
            {
                RenderRequest(this, this.FHost);
            }

            if (!(FInHLSL.IsChanged || FInCustomSemantic.IsChanged || FInResourceSemantic.IsChanged))
            {
                return;
            }

            SF3D ftFunc = new SF3D();

            ftFunc.SetString(FInHLSL[0]);
            if (FInCustomSemantic.IsConnected)
            {
                ftFunc.SetSemantics(FInCustomSemantic);
            }
            if (FInResourceSemantic.IsConnected)
            {
                ftFunc.SetResources(FInResourceSemantic);
            }
            FOutFieldTripFunction[0] = ftFunc;
        }