---
name: "SoMaterialBundle"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SoMaterialBundle"
---

# SoMaterialBundle(3)

The SoMaterialBundle class simplifies material handling.

## NAME

SoMaterialBundle - The **SoMaterialBundle** class simplifies material handling.

## SYNOPSIS

\#include \<Inventor/bundles/SoMaterialBundle.h\>

Inherits **SoBundle**.

### Public Member Functions

**SoMaterialBundle** (**SoAction** \*action)\
 **~SoMaterialBundle** ()\
 void **setUpMultiple** (void)\
 void **sendFirst** (void)\
 void **forceSend** (const int index)\
 SbBool **isColorOnly** (void) const\
 void **send** (const int index, const SbBool betweenbeginend)\

### Additional Inherited Members

Protected Member Functions inherited from **SoBundle** **SoBundle** (**SoAction** \*action)\
 **~SoBundle** ()\

Protected Attributes inherited from **SoBundle** **SoState** \* **state**\
 The state of the current action.

## Detailed Description

The **SoMaterialBundle** class simplifies material handling.

Every shape node should create (on the stack) an instance of this class and call **sendFirst()** before sending anything to GL. During rendering, **send()** should be used to send material values to GL.

## Constructor & Destructor Documentation

### SoMaterialBundle::SoMaterialBundle (SoAction \* action)

Constructor with *action* being the action applied to the geometry node.

### SoMaterialBundle::~SoMaterialBundle ()

Destructor

## Member Function Documentation

### void SoMaterialBundle::setUpMultiple (void )

Currently not in use. It is only provided for OIV compliance.

### void SoMaterialBundle::sendFirst (void )

Sends the initial material values to GL. Must be done once in all geometry nodes before the rendering begins.

### void SoMaterialBundle::forceSend (const int index)

Will send the material to GL even though *index* equals the current index.

Provided for compatibility with the SGI Open Inventor v2.1 API.

### SbBool SoMaterialBundle::isColorOnly (void ) const

Returns TRUE if the current light model is BASE\_COLOR.

### void SoMaterialBundle::send (const int index, const SbBool betweenbeginend)

Sends material values with index *index* to GL. Will test whether the current index equals *index* before sending.

*betweenbeginend* should be TRUE if your program is between a glBegin() and glEnd() (it is illegal to change the polygon stipple between a glBegin() and glEnd()).

## Author

Generated automatically by Doxygen for Coin from the source code.
