protected override sealed VFXExpression[] BuildExpression(VFXExpression[] inputExpression) { if (GetNbOutputSlots() == 0) { return new VFXExpression[] { } } ; var outputSlot = GetOutputSlot(0); var slots = outputSlot.GetVFXValueTypeSlots(); var buffer = inputExpression[0]; var index = inputExpression[1]; var count = new VFXExpressionBufferCount(buffer); index = VFXOperatorUtility.ApplyAddressingMode(index, count, mode); var stride = new VFXExpressionBufferStride(buffer); var expressions = new List <VFXExpression>(); foreach (var slot in slots) { var path = ComputeSlotPath(slot); var current = new VFXExpressionSampleBuffer(m_Type, slot.valueType, path, buffer, index, stride, count); expressions.Add(current); } return(expressions.ToArray()); } }
protected override sealed VFXExpression[] BuildExpression(VFXExpression[] inputExpression) { var count = new VFXExpressionBufferCount(inputExpression[0]); return(new VFXExpression[] { count }); }