stride-docs
stride-docs copied to clipboard
Code snippet out of date
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.
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
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);