Overview

J Texture Tools is a powerful Blender addon designed to streamline the workflow for handling PBR (Physically Based Rendering) textures. Its main purpose is to combine multiple grayscale texture maps—typically Occlusion, Roughness, and Metalness (ORM)—into the individual Red, Green, and Blue channels of a single image. This technique, known as channel packing, is a crucial optimization for real-time rendering applications and game engines, as it reduces memory usage and improves shader performance.

The addon provides two primary functionalities: a Combine Tool to merge textures and a Split Tool to reverse the process, extracting the individual maps from a packed image. J Texture Tools is built for flexibility, offering multiple workflows to suit your preference, including specifying textures individually or selecting and reordering nodes directly in the editor.

For enhanced performance with large textures, it also includes an optimized processing method using NumPy. Integrated directly into the Node Editor sidebar, J Texture Tools provides an efficient and intuitive solution for any artist working with PBR materials.

Installation

Installing the Render Manager addon follows the standard procedure for any Blender addon.

  1. Download the Addon: First, download the latest release of the addon as a .zip file from the marketplace. It is crucial that you DO NOT unzip or extract this file. Blender installs addons directly from the compressed .zip file.
  2. Open Blender Preferences: Launch Blender and navigate to the preferences window by selecting Edit > Preferences....
  3. Install from File: In the Preferences window, select the Add-ons tab on the left. Click the Install... button located at the top right of the window.
  4. Select the .zip File: A file browser will open. Navigate to where you saved the downloaded .zip file, select it, and click the Install Add-on button.
  5. Enable the Addon: Blender will install the addon and filter the list to show it. Find "Render: Render Manager" in the list and enable it by ticking the checkbox next to its name.

Once enabled, the Render Manager panel will be available in the Output Properties tab of the Properties editor.

Configuration

Before you start using the addon, you can configure its behavior to match your preferred workflow. You can access these settings by navigating to Edit > Preferences > Add-ons, finding "J Texture Tools" in the list, and expanding its details.

 

Node Selection Method

 

This setting dictates how you select the source images for the Combine Textures tool. It offers two distinct modes:

  • Specify One by One (SPECIFY): This is the default method. The UI panel in the Node Editor will display three dedicated fields for the Red, Green, and Blue channels. To assign a texture, you first select the desired image node in the editor and then click the picker icon next to the corresponding field. This approach is methodical and precise.
  • Selected Nodes and Reorder (REORDER): This mode is designed for speed. The UI panel shows a list area instead of individual fields. You can select multiple texture nodes directly in the Node Editor, click the "Add Selected Nodes" button to populate the list, and then simply drag and drop the items to set their packing order (top item for Red, second for Green, third for Blue). This workflow is exceptionally fast.

 

Image Processing Method

 

This option allows you to choose the underlying engine used for all texture combination and splitting operations, which can have a significant impact on performance.

  • Combine ORM (ORM): This is the default setting. It uses standard Blender Python functions to process image pixels. This method is reliable and guarantees compatibility, but may be slower when working with very high-resolution textures (e.g., 4K or 8K).
  • Combine ORM (Numpy) (ORM_NP): This method uses the powerful NumPy library for all pixel manipulations. NumPy is highly optimized for numerical operations on large arrays of data, resulting in significantly faster processing speeds, especially for large images. This is the recommended setting for performance-critical workflows.

Main Tools

J Texture Tools is centered around two powerful and efficient utilities located directly in the Node Editor's UI panel: the Combine Textures tool and the Split Textures tool. These form the core of the addon's functionality.

 

Combine Textures

 

This tool is the heart of the addon, designed to perform channel packing, a critical optimization technique in modern PBR workflows.

  • Function: It takes three separate input images and merges them into a single, optimized texture map.
  • Process: By convention for ORM (Occlusion, Roughness, Metalness) packing, the tool reads the pixel data from each source image and maps them to the Red, Green, and Blue channels of a new image. For instance, the Occlusion map is placed in the R channel, Roughness in the G, and Metalness in the B.
  • Output: The result is a brand-new image texture and a corresponding node, which is automatically created and intelligently positioned in your node tree for immediate use.

 

Split Textures

 

As the perfect counterpart to the Combine tool, the Split utility allows you to quickly deconstruct a channel-packed image into its component parts.

  • Function: It takes a single packed texture (like an ORM map) and separates its main color channels into individual grayscale images.
  • Process: By selecting a single texture node in the editor and running the operator, the tool will read its R, G, and B channels.
  • Output: The operation generates three new texture nodes, each containing one of the extracted grayscale maps. These new nodes are automatically placed and selected, ready to be connected to your shader setup.

Workflow

This section outlines the step-by-step process for using the main tools. The exact workflow for combining textures will depend on the Node Selection Method you have chosen in the addon preferences.

 

Combining Textures (Channel Packing)

 

This workflow allows you to merge three separate textures into one. A crucial prerequisite is that all source images must have the same dimensions (width and height) for the operation to succeed.

Workflow 1: Using "Specify One by One" Mode

This method is precise and requires assigning each node individually.

  1. Navigate to the Node Editor and locate the "Combine Textures" panel in the sidebar.
  2. In the Node Editor, select the texture node you want to use for the Red channel (e.g., Occlusion).
  3. In the panel, click the picker icon next to the Channel R field to assign it.
  4. Repeat the process for the Green channel (e.g., Roughness) and the Blue channel (e.g., Metalness).
  5. Once all three channels are assigned, click the "Combine Textures" button. A new, packed texture node will be created in your editor.

Workflow 2: Using "Selected Nodes and Reorder" Mode

This method is designed for speed and batch operations.

  1. In the Node Editor, select the three texture nodes you wish to combine. The initial order of selection does not matter.
  2. In the "Combine Textures" panel, click the "Add Selected Nodes" button. The selected nodes will appear in a list.
  3. Drag and drop the items in the list to set the correct packing order. The final order should be:
    • Top Item → Red Channel
    • Second Item → Green Channel
    • Third Item → Blue Channel
  4. Click the "Combine Textures" button to finalize the process. A new, packed texture node will appear.

 

Splitting Textures

 

This workflow is used to break a single packed texture back into three individual grayscale maps.

  1. Navigate to the Node Editor and locate the "Split Textures" panel in the sidebar.
  2. Select the single image texture node that you want to split. This must be the active node.
  3. Click the "Split Textures" button.
  4. The addon will immediately generate three new grayscale texture nodes—one for each channel (R, G, B)—and place them next to the original node.

Base Tutorial

This section provides step-by-step tutorials for the core functions of the J Texture Tools addon.

 

Tutorial 1: Creating an ORM Texture (Specify Method)

 

This tutorial will guide you through combining separate Occlusion, Roughness, and Metalness textures into a single ORM map using the default "Specify One by One" method.

Prerequisites:

  • You have a material with three separate ShaderNodeTexImage nodes for Occlusion, Roughness, and Metalness.
  • All three source images have the same width and height.
  • In the addon preferences, the "Node Selection Method" is set to Specify One by One.

Steps:

  1. With your material open, go to the Node Editor. In the sidebar (press 'N' if it's hidden), find the J Texture Tools tab.
  2. In the Combine Textures panel, you will see fields for each channel.
  3. Assign Occlusion: In the Node Editor, click to select your Occlusion texture node. Then, in the addon panel, click the picker icon next to the Channel R (usually Occlusion) field. The name of your texture will appear in the box.
  4. Assign Roughness: Select your Roughness texture node. In the panel, click the picker icon next to the Channel G (usually Roughness) field.
  5. Assign Metalness: Select your Metalness texture node. In the panel, click the picker icon next to the Channel B (usually Metalness) field.
  6. Combine: With all three fields populated, click the "Combine Textures" button at the bottom of the panel.
  7. Result: A new texture node, named Combined_ORM_Node, will be created in your editor, containing the newly packed ORM texture. You can now connect this to your main shader.

 

Tutorial 2: Creating an ORM Texture (Reorder Method)

 

This tutorial covers the faster "Selected Nodes and Reorder" method, ideal for when your nodes are already organized.

Prerequisites:

  • You have a material with three separate texture nodes (Occlusion, Roughness, Metalness).
  • All three source images have the same width and height.
  • In the addon preferences, the "Node Selection Method" is set to Selected Nodes and Reorder.

Steps:

  1. Open the Node Editor and locate the J Texture Tools panel. The "Combine Textures" panel will now show a list area.
  2. Select Nodes: In the editor, hold Shift and click on your Occlusion, Roughness, and Metalness nodes to select all three.
  3. Populate List: In the addon panel, click the "Add Selected Nodes" button. The names of your three textures will appear in the list below.
  4. Set the Order: The addon requires a specific order for packing. Click and drag the items in the list to arrange them correctly:
    • 1st (Top): Occlusion
    • 2nd (Middle): Roughness
    • 3rd (Bottom): Metalness
  5. Combine: Once the list is in the correct order, click the "Combine Textures" button.
  6. Result: A new Combined_ORM_Node with your packed texture will be generated and placed in the editor.

 

Tutorial 3: Splitting a Packed ORM Texture

 

This tutorial shows how to take a packed ORM texture and split it back into three individual grayscale maps.

Prerequisites:

  • You have a material with a single ShaderNodeTexImage that contains a packed texture (e.g., an ORM map).

Steps:

  1. In the Node Editor, find the J Texture Tools tab in the sidebar.
  2. Locate the "Split Textures" panel.
  3. Select Node: In the editor, click to select the single texture node containing your packed ORM map. It must be the active selected node.
  4. Split: Click the "Split Textures" button.
  5. Result: The addon will instantly create three new texture nodes. These will be named split_image_R, split_image_G, and split_image_B, containing the separate grayscale maps from the Red, Green, and Blue channels of the source image. They will be placed next to your original node and selected, ready to be used.

Video Tutorials

 

FAQ

1. Why is the "Combine Textures" operator failing or giving an error?

This issue usually happens for one of three reasons:

  • Mismatched Image Dimensions: All three source textures you are trying to combine must have the exact same width and height. The operator will fail if they are different.
  • Incomplete Selection: The tool requires exactly three textures to create a packed image. Ensure you have assigned a texture to all three R, G, and B fields (in Specify mode) or that you have added and ordered three items in the list (in Reorder mode).
  • Incorrect Node Type: The operator is designed to work with Image Texture nodes. Make sure you are selecting actual texture nodes and not other nodes like a Principled BSDF or ColorRamp.

 

2. What is the correct order for packing ORM textures?

ORM is a common acronym that stands for Occlusion, Roughness, Metalness. The standard convention for packing these into a single texture is:

  • Red channel = Occlusion
  • Green channel = Roughness
  • Blue channel = Metalness

You must ensure your textures are assigned to the fields or ordered in the list according to this convention to get the correct result. The UI labels provide hints for this intended order.

 

3. The UI panel looks different. Where are the picker fields / the reorderable list?

The appearance of the "Combine Textures" panel depends entirely on the "Node Selection Method" chosen in the addon's preferences.

  • If you see three fields with picker icons, your method is set to Specify One by One.
  • If you see an "Add Selected Nodes" button and a list area, your method is set to Selected Nodes and Reorder.

You can change this setting at any time by going to Edit > Preferences > Add-ons, finding "J Texture Tools", and changing the selection method.

 

4. The addon seems slow with my 4K/8K textures. Can I make it faster?

Yes. The addon includes a highly optimized processing method using NumPy. To enable it, go to the addon preferences (Edit > Preferences > Add-ons > J Texture Tools) and change the "Image Processing Method" from Combine ORM to Combine ORM (Numpy). This will significantly improve performance for all combine and split operations, especially with high-resolution images.

 

5. Can I use this addon for textures other than Occlusion, Roughness, and Metalness?

Absolutely. While the primary use case is for PBR channel packing (like ORM), the tool itself is generic. It simply takes the red channel from your first input and puts it in the R channel of the output, the red from the second in the G, and the red from the third in the B. You can use it to pack any three grayscale maps for any purpose, such as creating complex masks for shaders.

Report a Bug

If you believe you have found a bug or are experiencing an issue not covered in this documentation, we encourage you to report it. Your feedback is essential for improving the addon for everyone.

Please use the official contact method or support ticket system on the marketplace where you purchased the product (e.g., Blender Market, Gumroad, etc.).

 

What to Include in Your Bug Report

 

To help us resolve the issue as quickly as possible, please include the following information in your report:

  • Addon Version: The version of the addon you are using (e.g., 1.5.0).
  • Blender Version: The version of Blender you are using (e.g., 4.1, 3.6 LTS).
  • Operating System: Your operating system (e.g., Windows 11, macOS Sonoma, Linux).
  • A Clear Description of the Problem: Please describe what happened and what you expected to happen.
  • Steps to Reproduce: A numbered list of the exact steps needed to trigger the bug. This is the most important part of the report.
  • Error Messages: If any error messages appear, please open Blender's System Console (Window > Toggle System Console) and copy and paste the entire message into your report.
  • Sample .blend File (Optional but very helpful): If possible, attaching a simple .blend file that demonstrates the issue is the best way for us to quickly identify and fix the problem.

Thank you for taking the time to submit a report. We appreciate your help in making our tools better!