1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#ifndef FILE_DISPLACEMENT_TEXTURE_GLSLLIB
#define FILE_DISPLACEMENT_TEXTURE_GLSLLIB
#ifdef UIC_DEFINE_API
#include "luminance.glsllib"
#include "monoChannel.glsllib"
#include "textureCoordinateInfo.glsllib"
#define wrap_clamp 0
#define wrap_repeat 1
#define wrap_mirrored_repeat 2
#define mono_alpha 0
#define mono_average 1
#define mono_luminance 2
#define mono_maximum 3
#include "rotationTranslationScale.glsllib"
#include "transformCoordinate.glsllib"
#endif
vec3 fileDisplacementTexture( in sampler2D sampler, in float factor, in int displaceSource
, in texture_coordinate_info uvw, in vec3 normal, in vec3 pos )
{
// compute displace factor
float df = monoChannel( texture( sampler, uvw.position.xy ), displaceSource );
return( normal * df * factor + pos );
}
//default material path version
vec3 uicDefaultMaterialFileDisplacementTexture( in sampler2D sampler, in float factor, vec2 texCoord, in vec3 normal, vec3 pos )
{
return fileDisplacementTexture( sampler, factor, mono_luminance
, textureCoordinateInfo( vec3( texCoord.x, texCoord.y, 0.0 ), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0) )
, normal, pos );
}
#endif
|