Parallax Mapping

Parallax Mapping can produce a stunningly real three-dimensional appearance on flat surfaces, without the intensive tessellation computations and extreme polygon counts required for true displacement mapping. In addition to a base texture, it requires a corresponding normal map and height map to work.

dot3 bump mapping

dot3 bump mapping + parallax mapping

Parallax mapping also can works together with lightmapping:

 
Parallax Mapping + Lightmapping  

All parallax mapping shader files can be found at the "effects\parallax" folder. You need store height map to normal map's alpha channel, and set normal map to the 2nd texture of material; also check 3d object's 'Bump' style. (You need check materials's Specular Enable style to turn on specular lighting)

Textures setting of parallax mapping shaders:
0: decal map
1: normal map
[ 2: light map ]

Factors of all parallax mapping shaders
:

vec4 uvoffset                        //offset of texture coordinates

Usage:

material.setEffectVector('vecOffset',
uvoffset )


Example:

(parallax = material)

local uvofs=vec4.new(-0.02,-0.02,-0.02,1)
parallax.setEffectVector('vecOffset',uvofs
 )

 

Parallax Occlusion Mapping

POM can produce  better three-dimensional appearance , but not efficient as parallax mapping.
All POM shader files can be found at the "effects\pom" folder, and same parameters as parallax mapping.

ot; folder, and same parameters as parallax mapping.