Parallax Occlusion Mapping

As a Roblox developer, it is currently too hard to add depth into textures, one way of doing that is by adding a Height in Blender (or Maya), and importing the 3D model with the height into Roblox Studio, like this Youtube tutorial did: https://www.youtube.com/watch?v=BaMB6nIDUjY.
Even so its very unoptimized, and i think adding POM would be more optimized than doing that way.

What’s POM (Parallax Occlusion Mapping)?
Parallax Occlusion Mapping is a technique used in 3D Software and video games to create a fake illusion of depth into textures using a height map.

How does it work?
Basically it uses the camera to determine where to displace textures, creating the cool depth effect without adding extra polygons.

What could we use this for?

  • Terrain
  • Building Interiors (Like the PS4 Spider Man game)
  • Bricks
  • Stair Cases
  • and so much more…

Here is image of how it would look like (without POM vs with POM):


I believe this would work in Roblox since its a decade-old feature that has existed since the late 2000s in games like Crysis (2007) and S.T.A.L.K.E.R. (2007).

If this feature was added it would help developers add depth to their textures.

87 Likes

i forgot to mention we can also make oceans with this

11 Likes

What would this add that MaterialVariant.NormalMap or SurfaceAppearance.NormalMap doesn’t already have?

here’s more info
https://create.roblox.com/docs/art/modeling/surface-appearance#normal

1 Like

And also using EditableImages wouldn’t be as efficient as this.

2 Likes

NormalMaps dont handle as much detail as Parallax Occlusion Mapping, and this system is also realtime which can lead to more realism.

3 Likes

Normal maps only provide shading to a flat texture, parallax maps provide “Real” 3D depth to the texture.



tldr, normal maps but 1000x better (but more costly on performance)

15 Likes

Something that was possible in previous engines roblox used.

Roblox is behind the competition

18 Likes


Crysis from 2007

6 Likes

6 Likes

parallax mapping would add what appears to be actual 3d geometry without adding any extra triangles or vertices to the game. this also keeps 3d details when looking parallel to a surface

normal maps only add the illusion of depth by altering how the brightness of a pixel is calculated by changing how a normal value is read at a specific pixel, and falls apart when looking parallel along a surface

chark replied to you showing a pretty good example of their differences

1 Like


this is a great example of pom in video games

6 Likes

it aint too visible but it really does add a bit of extra depth to the games geometry

hell this tech is even possible and has been achieved in the source engine. and im pretty sure this would run at the same speed as a normal map whilst requiring the exact same amount of maps as a texture that would be used now. just replace the normal map with a height map

someone in a discord server im in even done this on editableimages and got it running in real time with high a res texture. thats just how quick pom is

5 Likes

isnt it the artblox server? im in it too

nah its for an editableimage api called osgl

Yes, there is an unfinished shader introduced in the alien swarm branch which actually works, with the exception being that it is unlit.

Though, I’m sure anyone with shader knowledge could finish it and it has been, Strata Source, and XenEngine contain a complete implementation of it.

There was also another shader similar to it that has existed since the first engine version however it is disabled and I don’t know if it actually works.

2 Likes

Counter Strike 2 uses parallax occlusion mapping for bullet holes, pbr materials

3 Likes

that was possible because ogre (the old roblox renderer) had alot of tutorials on how to do this, still impressive tho

3 Likes

I would love to see this feature added into the engine as a builder / environmental designer myself.

2 Likes

This would be an amazing feature for Terrain, certain Textures, Stairs, Oceans and more… However, for the Parallax Interiors such as in PS4 Spider Man, this is something you can already very well do with Viewport Frames, and some abuse to the way they work, and with a little bit of code, I have created the same exact looking interior system that appears in Spider Man, and it barely touches performance at a large scale.

Regardless, this would still be an amazing feature, and im tired of having to create features for my game before roblox can. Another thing I had to create since roblox doesn’t have it yet, but every other engine does, is realistic water and flows and has ripples upon object interaction.

1 Like

In addition to the load of the request,
Should we even be comparing Roblox, a platform that exists in 2025, to decades games?

1 Like