---
name: "SoGLRenderCache"
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/SoGLRenderCache"
---

# SoGLRenderCache(3)

The SoGLRenderCache class is used to cache OpenGL calls.

## NAME

SoGLRenderCache - The **SoGLRenderCache** class is used to cache OpenGL calls.

## SYNOPSIS

\#include \<Inventor/caches/SoGLRenderCache.h\>

Inherits **SoCache**.

### Public Member Functions

**SoGLRenderCache** (**SoState** \*state)\
 virtual **~SoGLRenderCache** ()\
 void **open** (**SoState** \*state)\
 void **close** (void)\
 void **call** (**SoState** \*state)\
 int **getCacheContext** (void) const\
 virtual SbBool **isValid** (const **SoState** \*state) const\
 virtual void **addNestedCache** (**SoGLDisplayList** \*child)\
 **SoGLLazyElement::GLState** \* **getPreLazyState** (void)\
 **SoGLLazyElement::GLState** \* **getPostLazyState** (void)\

Public Member Functions inherited from **SoCache** **SoCache** (**SoState** \*const state)\
 void **ref** (void)\
 void **unref** (**SoState** \*state=NULL)\
 void **addElement** (const **SoElement** \*const elem)\
 virtual void **addCacheDependency** (const **SoState** \*state, **SoCache** \*cache)\
 const **SoElement** \* **getInvalidElement** (const **SoState** \*const state) const\
 void **invalidate** (void)\

### Protected Member Functions

virtual void **destroy** (**SoState** \*state)\

Protected Member Functions inherited from **SoCache** virtual **~SoCache** ()\

## Detailed Description

The **SoGLRenderCache** class is used to cache OpenGL calls.

## Constructor & Destructor Documentation

### SoGLRenderCache::SoGLRenderCache (SoState \* state)

Constructor with *state* being the current state.

### SoGLRenderCache::~SoGLRenderCache () \[virtual\]

Destructor.

## Member Function Documentation

### void SoGLRenderCache::open (SoState \* state)

Opens the cache. All GL calls will be cached until **close()** is called.

**See also**

**close()**

**call()**

### void SoGLRenderCache::close (void )

Closes the cache. Should be called after all GL calls.

**See also**

**open()**

### void SoGLRenderCache::call (SoState \* state)

Executes the cached display list.

**See also**

**open()**

### int SoGLRenderCache::getCacheContext (void ) const

Returns the cache context of this cache. This is used to quickly determine if cache can be used for a state.

This method is an extension versus the Open Inventor API.

### SbBool SoGLRenderCache::isValid (const SoState \* state) const \[virtual\]

Return *TRUE* if this cache is valid, *FALSE* otherwise.

Reimplemented from **SoCache**.

### void SoGLRenderCache::addNestedCache (SoGLDisplayList \* child) \[virtual\]

Adds a display list which is called from this cache. This is to make sure the child display list isn't destroyed too early.

### void SoGLRenderCache::destroy (SoState \* state) \[protected\], \[virtual\]

Can be overridden by subclasses to clean up before they are deleted. Default method does nothing.

Reimplemented from **SoCache**.

## Author

Generated automatically by Doxygen for Coin from the source code.
