Skip to main content

BindViewToGeometry

Since: IVPrismaUI5

virtual bool BindViewToGeometry(
PrismaView view,
void* rootObject,
const char* geometryName
) noexcept = 0;

On-mesh rendering: binds this view's live texture onto a named piece of geometry's diffuse texture slot, so the view's pixels appear on that 3D surface and ride its UVs as it animates.

Parameters

  • view - Target view handle. Call SetViewOffscreen(view, true) on it first, so it renders without also appearing as a 2D overlay.
  • rootObject - An RE::NiAVObject* (e.g. player->Get3D(true)) passed as void* so this header does not need to pull in CommonLib types.
  • geometryName - The BSGeometry node name to find under that root, e.g. "Screen:0" for a Pip-Boy-style screen.

Returns

true on success. The geometry's original texture is cached internally so UnbindViewFromGeometry can restore it later.

Call timing

Call this after the target geometry exists in the scenegraph (for example, after the relevant menu/object has actually opened), and re-bind each time it does - the underlying model can be rebuilt between sessions, which invalidates a previous binding.

See also

BindViewToScreenTexture - binds by diffuse-texture name instead of node name, useful when you want to target a class of objects (e.g. "any Pip-Boy model") rather than one specific node name. UnbindViewFromGeometry, SetViewOffscreen, SetViewOffscreenBackground (V9).