• Français
  • Documentation 3DCoat
  • Chapters
    • Introduction to 3DCoat
    • Getting started
    • Interface
    • Brush Components
    • Workspaces Rooms
    • Scripting & Core API
    • Questions et réponses
    • licensing
    • Tutoriels de formation
  • Pilgway
  • Products
    • 3DCoat
    • 3DCoatTextura
    • 3DCoatPrint
    • PBRLibrary
  • Blog Posts
  • Store
  • Français Français
    • English English
    • Українська Українська
    • Español Español
    • Deutsch Deutsch
    • 日本語 日本語
    • Русский Русский
    • 한국어 한국어
    • Polski Polski
    • 中文 (中国) 中文 (中国)
    • Português Português
    • Italiano Italiano
    • Suomi Suomi
    • Svenska Svenska
    • 中文 (台灣) 中文 (台灣)
    • Dansk Dansk
    • Slovenčina Slovenčina
    • Türkçe Türkçe
    • Nederlands Nederlands
    • Magyar Magyar
    • ไทย ไทย
    • हिन्दी हिन्दी
    • Ελληνικά Ελληνικά
    • Tiếng Việt Tiếng Việt
    • Lietuviškai Lietuviškai
    • Latviešu valoda Latviešu valoda
    • Eesti Eesti
    • Čeština Čeština
    • Română Română
    • Norsk Bokmål Norsk Bokmål
  • Creating 3D Character Using 3DCoat
  • Introduction to 3DCoat
  • Getting started
    • System requirements
    • Activating 3DCoat
    • Startup error
      • Startup error Mac
    • Upgrading permanent license
    • Linux Setup
      • Linux initial setup per-user installation
      • Linux initial setup for system
      • Tablet setup
      • To GTK3 from GTK2
    • Folders Structure
      • Custom documents folder
    • Different Forms of “Resolution”
    • Import and Export
    • Applinks in 3DCoat
      • Blender 4.1 applink
        • Blender with the Applink in Linux
      • Blender 4.2/3 applink
      • Max Applink
      • Houdini applink
      • Lightwave uplink
  • Navigation
    • Opening Dialog (Quick Start Menu)
    • Navigation Panel
    • Camera and Navigation
      • Customize Navigation as Blender
    • Viewport Navigation Gizmo
    • Left tool panel
    •  Activity Bar
    • Navigation using 3DConnexion devices
      • How to compile Spacenavd on non Ubuntu distro
    • Stylus doesn’t work in sculpting
    • Hotkeys
  • Interface
    • File
    • Edit
      • Calculate Curvature
      • Calculate Occlusion
      • Light Baking Tool
      • Preferences
    • View
    • Symmetry
    • Textures
    • Calculate
    • Layers
    • Freeze
    • Hide
    • Bake
    • Curves
      • Curves editor
      • Fill with mesh layer
      • Scale of imported curves
    • Windows
      • Tabbed and Popup Panels
      • Controls
    • Scripts
    • Addons
    • Capture
    • Help
    • Room Customization
    • Modify or Create new Room
  • Brush Components
    • Brushes general use
      • Create alpha brushes and decals
      • Making alpha from current sculpt
      • Create a Brush from a 3D Object
      • Create brushes based on Curves
      • Load photoshop .abr brushes
    • Strokes
      • Curves Popup Menu
    • Brush Options panel
    • Brush Top Bar
    • Conditions Limiter
    • Strips Panel
    • Stencils Panel
    • Smart Materials
      • Add new images or materials
      • Attach a Smart material to a layer
      • Import Quixel Material
    • Presets for Brush alphas
  • Workspaces Rooms
    • Paint
      • Texture Painting & Modes
        • Per Pixel Painting
        • Displacement Painting (Micro-Vertex)
        • Ptex Painting
        • Surface Painting (Vertex painting)
      • Importing Into the Painting Room
        • Initial CC subdivision
        • UV Set smoothing
        • Sharp (hard) edge
        • Lock Normals
        • Load new UV layout After Model Changes
        • DAZ Genesis models into 3DCoat
      • Paint Menus
        • Edit menu
        • Textures Menu
          • Texture Baking Tools
        • Hide
        • Bake Paint menu
        • The Color Picker
      • Top Bar for the Painting
      • The Layers Panel
        • The Blending Panel
        • Layer and Clipping Masks
      • Left Tool Panel
      • Opacity & Transparency
      • Tweak tools
        • Tweak Toolset
        • Exporting from the Tweak Room
      • Stencil & Material preview panel
      • Exporting from the Painting Room
    • UV
      • UV Top Bar
      • UV Left tool panel
      • UV Preview Panel
      • UV workflow example
      • Importing Into the UV Room
      • Exporting from the UV Room
    • Retopology
      • Importing into Retopo Room
      • Retopo Mesh Menu
        • Virtual Mirror Mode
      • Bake menu
        • Autopo Baking guide
        • Baking guide
      • Top Bar
        • Select geometry
      • Left tool panel
        • Overall Purpose & Function
        • Add Geometry in the retopology room
          • Strokes tool in Retopology
        • Tweak Tools
        • UV Tools
        • Commands for Retopology room
      • AUTORETOPO
        • Autoretopology Guide
      • Poly Groups
    • Sculpt
      • Sculpt Tree
      • Sculpt Layer
      • Brush engine
      • Sculpt Brush options
      • Right mouse button menu
      • Geometry menu
      • Shader
      • Voxel mode
        • Pure Voxel Sculpting
        • Density and Resolution
        • Clay Engine
        • Right-Click Menu
        • Voxel Tools
        • Surface tools on Voxels
        • Voxel Adjustment Tools
        • Volumetric Painting
        • Transform Tools
        • Voxel Objects Tools
          • Voxel Primitives & Import Tools
      • Surface mode
        • Surface tools
        • Surface custom tools
        • Surface adjust tools
        • Surface transform tools
        • Surface Painting
        • Surface Objects Tools
          • Sculpt Primitives & Import Tools
        • Multi Level Resolution
          • Multires tools
          • Multires adjust
          • Multires commands
        • Right-Click Menu
      • Sculpt curves
        • Spline Curves
        • Splines model creation
      • Commands for Sculpt room
      • Vector Displacement
      • Live Booleans
      • Import to Sculpt Room
      • Exporting from the Sculpt Room
    • Render
      • Comparison of different roughness values
      • Render Panel Functions
      • Turntable
      • Fakebake the lighting -non PBR-
    • Factures
      • Workflow
    • Simplest
    • Modeling
      • Mesh Menu
      • Left tool panel
        • Add Geometry
        • Tweak
        • UV panel
        • Commands panel
        • Selected
        • Entire Mesh
      • Loft surface example by Fluffy
      • Blockout by Poeboi
      • Import Zbrush Polygroups for UV mapping
    • Kitbash
    • 3DPrint
    • Photogrammetry
      • How to install Reality Capture
      • Reality Capture doesn’t show up ?
    • Nurbs
    • Nodes
      • Sculpt shader Nodes Library
  • Scripting & Core API
    • Scripting
    • Core API
    • Python API
  • Free 3DCoatPrint
Expand All Collapse All
  • Introduction to 3DCoat
  • Getting started
    • System requirements
    • Activating 3DCoat
    • Startup error
      • Startup error Mac
    • Upgrading permanent license
    • Linux Setup
      • Linux initial setup per-user installation
      • Linux initial setup for system
      • Tablet setup
      • To GTK3 from GTK2
    • Folders Structure
      • Custom documents folder
    • Different Forms of “Resolution”
    • Import and Export
    • Applinks in 3DCoat
      • Blender 4.1 applink
        • Blender with the Applink in Linux
      • Blender 4.2/3 applink
      • Max Applink
      • Houdini applink
      • Lightwave uplink
  • Navigation
    • Opening Dialog (Quick Start Menu)
    • Navigation Panel
    • Camera and Navigation
      • Customize Navigation as Blender
    • Viewport Navigation Gizmo
    • Left tool panel
    •  Activity Bar
    • Navigation using 3DConnexion devices
      • How to compile Spacenavd on non Ubuntu distro
    • Stylus doesn’t work in sculpting
    • Hotkeys
  • Interface
    • File
    • Edit
      • Calculate Curvature
      • Calculate Occlusion
      • Light Baking Tool
      • Preferences
    • View
    • Symmetry
    • Textures
    • Calculate
    • Layers
    • Freeze
    • Hide
    • Bake
    • Curves
      • Curves editor
      • Fill with mesh layer
      • Scale of imported curves
    • Windows
      • Tabbed and Popup Panels
      • Controls
    • Scripts
    • Addons
    • Capture
    • Help
    • Room Customization
    • Modify or Create new Room
  • Brush Components
    • Brushes general use
      • Create alpha brushes and decals
      • Making alpha from current sculpt
      • Create a Brush from a 3D Object
      • Create brushes based on Curves
      • Load photoshop .abr brushes
    • Strokes
      • Curves Popup Menu
    • Brush Options panel
    • Brush Top Bar
    • Conditions Limiter
    • Strips Panel
    • Stencils Panel
    • Smart Materials
      • Add new images or materials
      • Attach a Smart material to a layer
      • Import Quixel Material
    • Presets for Brush alphas
  • Workspaces Rooms
    • Paint
      • Texture Painting & Modes
        • Per Pixel Painting
        • Displacement Painting (Micro-Vertex)
        • Ptex Painting
        • Surface Painting (Vertex painting)
      • Importing Into the Painting Room
        • Initial CC subdivision
        • UV Set smoothing
        • Sharp (hard) edge
        • Lock Normals
        • Load new UV layout After Model Changes
        • DAZ Genesis models into 3DCoat
      • Paint Menus
        • Edit menu
        • Textures Menu
          • Texture Baking Tools
        • Hide
        • Bake Paint menu
        • The Color Picker
      • Top Bar for the Painting
      • The Layers Panel
        • The Blending Panel
        • Layer and Clipping Masks
      • Left Tool Panel
      • Opacity & Transparency
      • Tweak tools
        • Tweak Toolset
        • Exporting from the Tweak Room
      • Stencil & Material preview panel
      • Exporting from the Painting Room
    • UV
      • UV Top Bar
      • UV Left tool panel
      • UV Preview Panel
      • UV workflow example
      • Importing Into the UV Room
      • Exporting from the UV Room
    • Retopology
      • Importing into Retopo Room
      • Retopo Mesh Menu
        • Virtual Mirror Mode
      • Bake menu
        • Autopo Baking guide
        • Baking guide
      • Top Bar
        • Select geometry
      • Left tool panel
        • Overall Purpose & Function
        • Add Geometry in the retopology room
          • Strokes tool in Retopology
        • Tweak Tools
        • UV Tools
        • Commands for Retopology room
      • AUTORETOPO
        • Autoretopology Guide
      • Poly Groups
    • Sculpt
      • Sculpt Tree
      • Sculpt Layer
      • Brush engine
      • Sculpt Brush options
      • Right mouse button menu
      • Geometry menu
      • Shader
      • Voxel mode
        • Pure Voxel Sculpting
        • Density and Resolution
        • Clay Engine
        • Right-Click Menu
        • Voxel Tools
        • Surface tools on Voxels
        • Voxel Adjustment Tools
        • Volumetric Painting
        • Transform Tools
        • Voxel Objects Tools
          • Voxel Primitives & Import Tools
      • Surface mode
        • Surface tools
        • Surface custom tools
        • Surface adjust tools
        • Surface transform tools
        • Surface Painting
        • Surface Objects Tools
          • Sculpt Primitives & Import Tools
        • Multi Level Resolution
          • Multires tools
          • Multires adjust
          • Multires commands
        • Right-Click Menu
      • Sculpt curves
        • Spline Curves
        • Splines model creation
      • Commands for Sculpt room
      • Vector Displacement
      • Live Booleans
      • Import to Sculpt Room
      • Exporting from the Sculpt Room
    • Render
      • Comparison of different roughness values
      • Render Panel Functions
      • Turntable
      • Fakebake the lighting -non PBR-
    • Factures
      • Workflow
    • Simplest
    • Modeling
      • Mesh Menu
      • Left tool panel
        • Add Geometry
        • Tweak
        • UV panel
        • Commands panel
        • Selected
        • Entire Mesh
      • Loft surface example by Fluffy
      • Blockout by Poeboi
      • Import Zbrush Polygroups for UV mapping
    • Kitbash
    • 3DPrint
    • Photogrammetry
      • How to install Reality Capture
      • Reality Capture doesn’t show up ?
    • Nurbs
    • Nodes
      • Sculpt shader Nodes Library
  • Scripting & Core API
    • Scripting
    • Core API
    • Python API
  • Free 3DCoatPrint

Ptex Painting

862 views 0

Written by Carlos
October 13, 2022

What is Ptex


Ptex (Per-Face Texturing) allow you to paint extremely high-resolution textures on a per polygon basis, as well as completely bypassing all UV work as it does not require any manual input for the creation of the UV maps.

Ptex, in its current implementation, only supports quad polygons, no triangles or N-gons.

The main purpose of this method is for painting over smoothed (subdivided) surfaces without uv-mapping.
A bitmap will be assigned to every face dependent on its size. Additionally, you can change resolution of texture utilized by any face.
You may export the object with a texture in any standard format and render it seamlessly in any other application, even those that have no PTEX support.

PTEX importing does not require a uv-mapped object. But, for now, it can work only with quads.

It’s important to note that when using Ptex in 3DCoat, you can increase the resolution of individual polygons if you require more texture details in the local area of that polygon.
By increasing the resolution of a polygon or group of polygons, it is effectively increasing the size of that polygon on the auto-generated Ptex UV map.

For example, you could paint very small details inside of areas on a mesh that calls for an extreme close-up shot or just requires more detail in one area yet, you don’t want to create a lot of very high-resolution texture maps.
Ptex works quite well for this purpose. Even more remarkable is that the .ptex format can store hundreds of thousands of textures directly within one .ptex file.

At this time, only external application that supports the .ptex format will be able to import/export the .ptex file for use.
To fill in this gap in .ptex support, we have provided for the export of an ordinary texture map, based on Ptex technology, in the TGA, BMP, and PNG formats.

Ptex import options


Upon importing a mesh for Ptex painting, you will be prompted to select a number of options:

Millions of polygons: This is the mesh resolution as subdivided after the “Smooth object” operation is performed.
This should be higher than the number of pixels of your texture map.
Carcass resolution: This is the mid-poly resolution; it only affects the viewport performance and display of the mesh in the viewport.
Ptex texture size for export: You can select a texture resolution between 512×512 and 8192×8192. You can also change this at any time you need to scale up or down your texture resolution.
Weld vertices: This will weld any vertices which share the same position.
Swap Y and Z: This will swap the Y and Z axes. This allows for an easier time bringing meshes from applications such as Rhino or 3DSMax.
Ignore smoothing groups: Ticking this will ignore any smoothing groups which you have on your mesh.
Invert normals: This will flip the normals of each polygon. Auto smoothing groups: This will automatically scan the mesh for sharp angles between polygons and apply smoothing groups to them automatically, maintaining any sharp edges that are present.

Each of the following Ptex functions requires a selection. To make a selection, simply activate the Ptex Local resolution tool and “paint over” the polygons in the viewport.

When using this, do keep in mind that if you have been using a mesh with specific auto-generated Ptex UV maps, it will completely reorganize the polys on all UV maps, rendering your previous auto-generated UV maps useless.

However, you can always bake the details from one mesh to another.
Just be sure to save two meshes: Your original and the baking target mesh.

Local Resolution parameters


There is a button in the tool palette that says Ptex local resolution when you hover over it.
It’s an image of a square with four smaller squares in the upper left corner of it.

Clicking on it will bring up a bunch of options, at which point you can select which polygons you want to affect by left-clicking on them (hold the control key and left-click to deselect).

After clicking the “Ptex Icon” at the bottom of the “Painting Tools Panel”, you can designate areas of increased resolution by painting the desired polygons in the Viewport and pressing “Increase Resolution” in the “Tool Options Panel”.

The big advantage of Ptex was the ability to increase the resolution of the texture in specific areas.
If you didn’t have enough resolution for a set of polygons (such as an area with text), you could just select the area and bump up the resolution.

Tool Options Panel


Clear: Clear any selection.
Invert selection: Inverts your selection.
Expand: Expands your selection by one contiguous polygon.
Contract: Contracts your selection by one contiguous polygon.
Select level: Manually key a local polygonal subdivision level.
Increase resolution: Increases the local resolution of the currently selected polygons. This effectively increases the polygon size on the auto-generated Ptex UV maps.
Decrease resolution: Decrease the local resolution of the currently selected polygons. This effectively decreases the polygon size of the auto-generated Ptex UV maps.
To max level: Sets your current selection to the maximum level allowed for Ptex. They are effectively increasing selected polygons, nearly taking up their UV map.
To min level: Sets your current selection to the minimum level allowed for Ptex. Effectively shrinking selected polygons, allowing more polygons per UV map.
Ptex Texture Size: You can pick the texture resolution for each ptex-generated texture. Selectable resolutions range from as low as 512×512 to as high as 8192×8192. You can change this at any time to suit your needs, as well as upon importing the mesh for Ptex painting.
Optimize: Organizes polygons on every auto-generated Ptex UV map to fit more polygons based on local resolution (poly size per UV space).

Ptex advantage


When your model does not require extreme displacement (by means of texture maps) – and you want to work without the considerations of UV Map seams (very fast) try the Ptex mode.

Ptex is very close to the microvertex approach because patch N x M was associated with every face in the micro vertex approach.
The big advantages over microvertex painting are not needing UV; every pixel on texture corresponds to only one vertex on the patch, which results in much better painting quality.

Ptex is a special mapping where texture 2^n x 2^m is associated with each face. The resolution of each face can be changed dynamically.

The MxN “Faces” matrix describes M polygons having N vertices. Each row describes a single polygon and each column entry is an index into the “Vertices” matrix to identify a vertex.

Ptex is good for subdivision surfaces but bad for objects with irregular surfaces that become wrong after subdivision.
Currently, only quads are supported in 3DCoat.

Ptex can be set in correspondence with the UV-mapping approach because all small textures will be placed on several big textures, so 3DC can export objects and textures to be used in any other game/render package.
Seamlessness is provided because every patch/small texture is placed on a big texture with a 1-pixel wide border composed in a special way to imitate filtering.

Ptex is ideal for baking from voxels to painting approach because there will not exist any UV-overlap issues that are just impossible in this approach.

Whatever features you add in the Painting Room, it can be automatically converted to standard texture maps which can be read by many 3rd party applications.  Ptex provides optimized distribution of texture space and allows you to work very quickly.

Be aware that texture maps converted from the Ptex Mode are not suitable for modification in external painting apps like Photoshop.

Ptex use in game engines


Objects exported using Ptex can be used in games, but it is not too efficient now because every face will produce four vertices (instead of 1-2) that will be brought to the render engine.
This is not too critical an issue, but anyway it will give some small speed penalty. Of course, the game engine can be optimized to avoid this problem using a geometry shader, but it needs some improvements in the engine itself.

It will work in game engines; it is just a performance warning. If proper optimization is made in game engines, this technique can show displaced objects close look very well.
For example, suppose the game engine will get on input three streams (vertex position + quad indices + patch parameters) instead of 2 (vertex coordinates and UV + triangles indices).
In that case, rendering can be performed even in a more efficient way.

Objects can be used in any usual render engines/3D packages without seams due to the reason that was mentioned before (specially filtered border).

Texture editor Panel


With the “Texture Editor” Panel open, as well as the Ptex “Tool Options Panel”, you can adjust Ptex resolution locally and at any time during the texture painting process – instantly seeing the UV Map changes in real-time.

Tutorials


For more information on Ptex, please visit the official Ptex website at http://ptex.us/

Baking Ptex textures onto a mesh with existing UVs: 
How to bake textures after using the Ptex UV/Texturing method to a mesh with an existing UV map.
Quite handy if you want to use the Ptex format in 3DCoat as a “storage” format with your high res details and bake to lower-resolution textures as needed.

Baking Ptex: This video demonstrates the process of baking a model into the Paint Workspace, in Ptex mode.

Tags:ptex

Was this helpful?

Yes  No
Related Articles
  • 3DPrint
  • Nodes
  • Create brushes based on Curves
  • Right-Click Menu
  • Baking guide
  • Autopo Baking guide
Previously
Displacement Painting (Micro-Vertex)
Up Next
Surface Painting (Vertex painting)

On This Page: [hide]

What is Ptex

Ptex import options

Local Resolution parameters

Tool Options Panel

Ptex advantage

Ptex use in game engines

Texture editor Panel

Tutorials

AI:
Hi! How can I help you?
Attention: This is a beta version of AI chat. Some answers may be wrong. See full version of AI chat