Stride

OPEN / CLOSE
  • Features
  • Blog
  • Documentation
  • Community
(icon) Download

  • Discord
  • Facebook
  • Twitter
  • YouTube

LANGUAGE

OPEN / CLOSE
  • English
  • 日本語
    Show / Hide Table of Contents

    Material maps

    Intermediate Artist Programmer

    Material maps calculate how materials are rendered. They can use two kinds of values: color (RGB) values or scalar (single float) values.

    You can use material maps for several purposes, including gloss maps, diffuse maps, or blend maps (for combining material layers)

    Material maps can fetch values using one of several providers:

    • Vertex stream: a value taken from mesh attributes
    • Binary operator: a combination of any other two providers
    • Float4 / Float: a constant value
    • Color: a hex color value
    • Shader: a value provided by a ComputeColor shader. This lets you use procedural values
    • Texture: a value sampled from a texture

    To choose the provider, click Blue arrow button (Replace) and select it from the drop-down menu:

    media/material-colors-1.png

    Vertex stream

    This provider takes a value from an attribute of the mesh of the model you apply the material to.

    It has two modes: Color Vertex Stream and Custom Vertex Stream. To switch between them, with Vertex Stream selected as the provider, click Blue arrow button (Replace) and choose the mode you want to use.

    Vertex stream mode

    Color vertex stream

    Takes a color value from the mesh.

    Property Description
    Index The index in the named stream
    Channel The channel (RGBA) to sample from the stream

    Custom vertex stream

    Takes a value from the mesh channel you specify.

    Property Description
    Name Semantic name of the channel to read data from
    Channel The channel (RGBA) to sample from the stream

    Binary operator

    Perform a binary operation from two color/scalar value providers. You can nest as many material maps inside binary operators as you need (including further binary operators).

    To choose how the operation works, click Blue arrow button (Replace) and select from the drop-down menu. The operations are similar to options when blending layers in Photoshop.

    Operation mode

    Result = LeftColor <operator> RightColor

    media/material-colors-4.png

    Property Description
    Operator A binary operator (eg add, multiply, etc)
    Left The left color/scalar used in the operation
    Right The right color/scalar used in the operation

    Float4 / Float

    Provided directly as a constant value over the whole material.

    In the case of RGB values, you control the RGBA value with the X, Y, Z and W values (Float4).

    xyzw

    In the case of scalar values, you control the value with a slider (Float).

    Blend map slider

    Color

    A value provided from a color hex value. This is only available for material maps that use RGB values.

    media/material-colors-3.png

    Shader

    A value provided by a ComputeColor shader. This lets you use procedural values.

    For an example of a ComputeColor shader, see the Particle materials tutorial.

    Texture

    Sample the color/scalar from a texture.

    For example, the images below demonstrate how the texture changes the way Stride blends materials.

    Blend map diagram

    Blend map diagram

    media/material-colors-2.png

    Property Description
    Texture A reference to a texture
    Channel The channel (R, G, B, A) used to extract the scalar value. Only valid for scalar textures
    Texcoord Index The texture coordinates (u,v) to use from the mesh with this texture
    Filtering The sampling method (eg Linear, Point, Anisotropic, etc)
    Address Mode U / V


    Defines how (u,v) coordinates are addressed



    Wrap: Tiles (u,v) at integer junctions. For example, if u ranges from 0.0 to 3.0, the texture repeats three times on the U axis



    Mirror: Flips (u,v) at integer junctions. For example, if u ranges from 0.0 to 1.0, the texture is displayed as expected; but from 1.0 to 2.0, the texture is mirrored



    Clamp: Clamps (u,v) to the range (0.0, 1.0)


    Scale A scale applied to (u,v)
    Offset An offset applied to (u,v)

    See also

    • Material attributes
    • Material layers
    • Material slots
    • Materials for developers
    • Improve this Doc
    In This Article

    Back to top

    Copyright © 2019-2021 .NET Foundation and Contributors
    Supported by the .NET Foundation