# model

### Introduction

Xna's Model class is the class that's used to draw 3D geometry. Usually in FlatRedBall this object is contained within a [PositionedModel](https://github.com/flatredball/FlatRedBallDocs/blob/main/frb/docs/index.php) and is accessed by the [PositionedModel's](https://github.com/flatredball/FlatRedBallDocs/blob/main/frb/docs/index.php) XnaModel property.

### Setting Effects

To set individual effects on a model, set the effects within the model's meshparts, like so:

```
// Load the effect to use
Effect newEffect = FlatRedBallServices.Load<Effect>(@"Content\myEffect");

// Replace the effects by looping
foreach (ModelMesh mesh in myPositionedModel.XnaModel.Meshes)
{
    foreach (ModelMeshPart part in mesh.MeshParts)
    {
        part.Effect = newEffect;
    }
}
```

Note that if you use the same effect in multiple places, the parameters may be changed on every use. You may want to Clone() the effect after loading it to ensure it is unique, then set the parameters.

### Getting Textures

Models store the Texture that they reference in their effect. Therefore, the Texture used on individual mesh parts can be retrieved and set through effects.

Did this article leave any questions unanswered? Post any question in our [forums](https://github.com/flatredball/FlatRedBallDocs/blob/main/frb/forum.md) for a rapid response.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.flatredball.com/flatredball/api/microsoft-xna-framework/graphics/model.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
