stride-docs icon indicating copy to clipboard operation
stride-docs copied to clipboard

Code snippet out of date

Open Kuinox opened this issue 1 year ago • 2 comments

This code snippet in the markdown docs is out of date: https://github.com/stride3d/stride-docs/blob/c26b60b968c322ebe91f3e0421b6ff02c2a96381/en/manual/scripts/create-a-model-from-code.md#option-2-create-new-materials-in-code

    // Create a material (eg with red diffuse color).
    var materialDescription = new MaterialDescriptor
    {
        Attributes =
	    {
	        DiffuseModel = new MaterialDiffuseLambertModelFeature(),
	        Diffuse = new MaterialDiffuseMapFeature(new ComputeColor { Key = MaterialKeys.DiffuseValue })
	    }
    };
    var material = Material.New(GraphicsDevice, materialDescription);
    material.Parameters[0].Set(MaterialKeys.DiffuseValue, Color.Red);
    model.Materials.Add(0, material);

The parameters property doesn't exists anymore.

Kuinox avatar Apr 09 '23 19:04 Kuinox

By the way I'm trying to make it works with the current API but without success

// Create a material (eg with red diffuse color).
var materialDescription = new MaterialDescriptor
{
    Attributes =
    {
        DiffuseModel = new MaterialDiffuseLambertModelFeature(),
        Diffuse = new MaterialDiffuseMapFeature(new ComputeColor { Key = MaterialKeys.DiffuseValue })
    }
};
var material = Material.New(GraphicsDevice, materialDescription);
var collection = new ParameterCollection();
collection.Set(MaterialKeys.DiffuseValue, Color.Green);
material.Passes.Add(new MaterialPass(collection));

model.Materials.Add(material);

Display it in black image

Kuinox avatar Apr 09 '23 19:04 Kuinox

Came up with a different solution:

var materialDescription = new MaterialDescriptor
{
    Attributes =
    {
        DiffuseModel = new MaterialDiffuseLambertModelFeature(),
        Diffuse = new MaterialDiffuseMapFeature()
        {
            DiffuseMap = new ComputeColor(Color.Green)
        },

    }
};
var material = Material.New(GraphicsDevice, materialDescription);
model.Materials.Add(material);

Kuinox avatar Apr 09 '23 19:04 Kuinox