SPOM - Silhouette Parallax Occlusion Mapping
Gece Studio
$19.24
$27.49
30%OFF
(no ratings)
Jump AssetStore
Silhouette Parallax Occlusion Mapping (SPOM) is an advanced rendering technique used to improve the edge appearance of standard Parallax Occlusion Mapping (POM), enabling surface details to have more realistic depth and accurate silhouette edges.Normally, Parallax Occlusion Mapping creates a sense of depth on a flat surface, making it appear as if real geometry exists on the model. However, when viewed from an angle (side view), the edges of the surface still appear flat. The silhouette enhancement addresses these issues:Edge Depth: Ensures that edges appear to have real geometric depth even when viewed from the side.Enhanced Visual Quality: Accurately represents the object's outer contours (silhouette) using techniques such as Prism POM or custom ray-tracing approaches.Performance Efficiency: Delivers highly detailed surface appearance without relying on tessellation or truly high-polygon models, making more efficient use of GPU resources.FeaturesAbility to clip edges and form silhouettesToggle between SPOM and POMDistance-based performance adjustmentHigh accuracy with Depth Offset (HDRP only)Lighting supportTiling optionReal-time surface displacementCompatible with URP & HDRPShader Graph integrationAdditional Notes:The shader may also work in versions prior to Unity 6; however, it has been released specifically for Unity 6 in order to take advantage of its new rendering architecture and improved performance considerations.The SPOM shader is computationally heavy and should be used with care. It is primarily designed for HDRP. When used with URP, it may result in performance loss. To use the URP, extract the zip file.The key difference between SPOM and standard POM is that SPOM generates a silhouette. In terms of how it works, the clipping operation is applied starting from the UV boundaries, meaning it only occurs at the texture’s UV edges. When viewed from the side, this clipping is not applied. I researched how this was implemented in other game engines, especially in the early days of SPOM, but couldn’t find a clear answer. My assumption is that screen-space effects are incorporated into the algorithm. However, this shader does not include any screen-space effects.As you can also see from the cube object, when a mesh is viewed from its corner, a sharp seam appears in the middle. Due to the nature of how SPOM works, it does not seem possible to prevent this at the moment.



