コード例 #1
0
        private void Update(EvaluationContext context)
        {
            var connectedLists = PointBuffers.CollectedInputs.Select(c => c.GetValue(context)).Where(c => c != null).ToList();

            PointBuffers.DirtyFlag.Clear();

            if (connectedLists.Count == 0)
            {
                Result.Value = null;
                return;
            }

            BufferWithViews input = connectedLists[0];

            for (var index = 1; index < connectedLists.Count; index++)
            {
                var cl = connectedLists[index];
                if (cl != input)
                {
                    Log.Warning($"Inconsistent buffers connected to MultiUpdatePoints on index {index}", SymbolChildId);
                }
            }

            Result.Value = connectedLists[connectedLists.Count - 1];
        }
コード例 #2
0
        private void Update(EvaluationContext context)
        {
            // This will execute the input
            if (!IsEnabled.GetValue(context))
            {
                UpdateCommand.DirtyFlag.Clear();
                BufferWithViews.DirtyFlag.Clear();
                return;
            }

            UpdateCommand.GetValue(context);
            Output2.Value = BufferWithViews.GetValue(context);
        }
コード例 #3
0
        private void Update(EvaluationContext context)
        {
            var bufferWithViews = BufferWithViews.GetValue(context);

            if (bufferWithViews != null)
            {
                Buffer.Value              = bufferWithViews.Buffer;
                ShaderResourceView.Value  = bufferWithViews.Srv;
                UnorderedAccessView.Value = bufferWithViews.Uav;
            }
            else
            {
                Buffer.Value              = null;
                ShaderResourceView.Value  = null;
                UnorderedAccessView.Value = null;
            }
        }