Skip to main content
Glama

Split a material into separate PBR texture planes

extract_pbr_trio

Split glTF materials into separate albedo, normal, roughness, metallic, and occlusion images. De-packs metallicRoughness channels, resamples to target resolution, and records source texture and channel for each output.

Instructions

FREE and fully local: no network call, no credits. Splits a glTF material into independent albedo, normal and roughness images (plus metallic and occlusion when present), de-packing the glTF metallicRoughness texture — roughness is its GREEN channel, metallic its BLUE. Resamples to an exact resolution, averaging colour in linear light and data channels directly, and writes a receipt naming the source texture and channel behind every plane. Use after download_asset, or on any local glTF/GLB. Planes a material declares only as a scalar factor are emitted as flat images and marked source="factor" so a constant is never mistaken for measured data.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modelPathNoAbsolute path to a local .glb or .gltf.
assetJobIdNoA job that has already been downloaded.
resolutionNoSquare output size. Defaults to the largest source texture dimension.
destinationNoOutput directory. Defaults to the workspace.
materialIndexNoWhich material to split when the file has several.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations all false, the description carries the full burden of behavioral disclosure, and it does so thoroughly. It reveals the tool performs no network call, consumes no credits, de-packs channels with specific color-space handling (linear light), and writes a receipt with provenance. It also explains the 'source='factor'' edge case, which is exactly the kind of nuance an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is information-dense but well-organized: it leads with the key value proposition, then the core operation, then technical details, usage context, and a special case. Each sentence earns its place, and there is no redundant filler. Front-loading the local-free nature and the main split action aids quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 optional parameters and no output schema, the description covers almost everything an agent needs: input types, channel semantics, resolution behavior, receipt generation, and the factor distinction. The only notable gap is that it never explicitly states what the tool returns (e.g., a job ID or a list of output paths). Since it says 'writes a receipt,' the return value is implied but not defined, which is a minor omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, so the baseline is 3. The tool description adds some context (e.g., resolution default behavior and the flat image behavior for scalar factors) but doesn't materially enhance parameter meaning beyond what the schema already provides. The schema descriptions suffice.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('splits'), a precise resource ('a glTF material'), and enumerates the outputs (albedo, normal, roughness, plus metallic and occlusion). It immediately distinguishes the tool from siblings by noting it is local and free, and by referencing the material's metallicRoughness de-packing, making the function unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit context for when to use the tool: 'Use after download_asset, or on any local glTF/GLB.' This tells the agent the prerequisite and the acceptable inputs. It doesn't explicitly name alternatives or when not to use it, but the context is clear enough to guide correct invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/theisegoria/game-asset-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server