docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Sample Graphics Buffer

    Menu Path : Operator > Sampling > Sample Graphics Buffer

    The Sample Graphics Buffer Operator enables you to fetch and sample a structured buffer. A structured buffer is a GraphicsBuffer created using the Structured target.

    Operator settings

    Input Type Description
    Mode Enum The wrap mode to use for the sequence. The options are:
    • Clamp: Clamps the index between the first and last vertices.
    • Wrap: Wraps the index around to the other side of the vertex list.
    • Mirror: Mirrors the vertex list so out of range indices move back and forth through the list.

    Operator Properties

    Input Type Description
    Input Configurable The structure type.
    Buffer Graphics Buffer property The structured buffer to fetch. You can only connect an exposed property to this input port.
    Index uint The index of the element to fetch.
    Output Type Description
    s Dependent The sampled structure at the index, taking into account the Mode setting.

    Operator configuration

    To set the struct type, select the cog icon. The available types are:

    • bool
    • float
    • int
    • uint
    • Vector2
    • Vector3
    • Vector4
    • Matrix4x4

    Add a custom type

    To add a custom type to the list, add the [VFXType(VFXTypeAttribute.Usage.GraphicsBuffer)] attribute to a struct. For example, the following script adds a MyCustomData type:

    using UnityEngine;
    using UnityEngine.VFX;
    
    [VFXType(VFXTypeAttribute.Usage.GraphicsBuffer)]
    struct MyCustomData
    {
        public Vector3 myColor;
        public Vector3 myPosition;
    }
    

    After you set a custom type, open the s dropdown to display the properties of the struct and connect them to other Operators and Contexts.

    Limitations

    The Operator has the following limitations:

    • This Operator expects a GraphicsBuffer created using the Structured target.
    • The stride of the GraphicsBuffer declaration must match with the structure stride.
    • The structure must be blittable. This means the structure can't store a reference to a Texture2D, but it can store any other blittable structure.
    • This Operator only supports structured buffers that use one of the blittable public type the Visual Effect Graph supports. For the list of avaialable types, see Available types.

    Did you find this page useful? Please give it a rating:

    Thanks for rating this page!

    Report a problem on this page

    What kind of problem would you like to report?

    • This page needs code samples
    • Code samples do not work
    • Information is missing
    • Information is incorrect
    • Information is unclear or confusing
    • There is a spelling/grammar error on this page
    • Something else

    Thanks for letting us know! This page has been marked for review based on your feedback.

    If you have time, you can provide more information to help us fix the problem faster.

    Provide more information

    You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:

    You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:

    You've told us there is information missing from this page. Please tell us more about what's missing:

    You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:

    You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:

    You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:

    You've told us this page has a problem. Please tell us more about what's wrong:

    Thank you for helping to make the Unity documentation better!

    Your feedback has been submitted as a ticket for our documentation team to review.

    We are not able to reply to every ticket submitted.

    In This Article
    • Operator settings
      • Operator Properties
    • Operator configuration
      • Add a custom type
    • Limitations
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)