summaryrefslogtreecommitdiffstats
path: root/o3d/samples/beachdemo/shaders_glsl/skydomeshader.glsl
blob: 64c01e9cea7259532402e2081ebf222f8f182ca5 (plain)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
// glslv profile log:
// 62 lines, 0 errors.

// glslf profile log:
// 62 lines, 0 errors.

// glslv output by Cg compiler
// cgc version 2.0.0010, build date Dec 12 2007
// command line args: -profile glslv
//vendor NVIDIA Corporation
//version 2.0.0.10
//profile glslv
//program vertexShaderFunction
//semantic worldViewProjectionInverse : VIEWPROJECTIONINVERSE
//semantic viewInverse : VIEWINVERSE
//semantic environmentSampler
//var float4x4 worldViewProjectionInverse : VIEWPROJECTIONINVERSE : _ZZ2SworldViewProjectionInverse[0], 4 : -1 : 1
//var float4x4 viewInverse : VIEWINVERSE : , 4 : -1 : 0
//var samplerCUBE environmentSampler :  :  : -1 : 0
//var float4 input.position : $vin.POSITION : POSITION : 0 : 1
//var float4 vertexShaderFunction.position : $vout.POSITION : POSITION : -1 : 1
//var float3 vertexShaderFunction.worldPosition : $vout.TEXCOORD0 : TEXCOORD0 : -1 : 1

attribute vec4 position;
vec4 _glPositionTemp;
uniform vec4 dx_clipping;

struct VertexShaderInput {
    vec4 position;
};

struct PixelShaderInput {
    vec4 position;
    vec3 worldPosition;
};

PixelShaderInput _ZZ3Sret_0;
vec4 _ZZ3SrZh0004;
uniform mat4 viewProjectionInverse;

 // main procedure, the original name was vertexShaderFunction
void main()
{

    PixelShaderInput _ZZ4Soutput;

    _ZZ3SrZh0004 = position.x*viewProjectionInverse[0];
    _ZZ3SrZh0004 = _ZZ3SrZh0004 + position.y*viewProjectionInverse[1];
    _ZZ3SrZh0004 = _ZZ3SrZh0004 + position.z*viewProjectionInverse[2];
    _ZZ3SrZh0004 = _ZZ3SrZh0004 + position.w*viewProjectionInverse[3];
    _ZZ4Soutput.worldPosition = _ZZ3SrZh0004.xyz/_ZZ3SrZh0004.w;
    _ZZ3Sret_0.position = position;
    _ZZ3Sret_0.worldPosition = _ZZ4Soutput.worldPosition;
    gl_TexCoord[0].xyz = _ZZ4Soutput.worldPosition;
    _glPositionTemp = position; gl_Position = vec4(_glPositionTemp.x + _glPositionTemp.w * dx_clipping.x, dx_clipping.w * (_glPositionTemp.y + _glPositionTemp.w * dx_clipping.y), _glPositionTemp.z * 2.0 - _glPositionTemp.w, _glPositionTemp.w);
    return;
} // main end


// #o3d SplitMarker
// #o3d MatrixLoadOrder RowMajor

// glslf output by Cg compiler
// cgc version 2.0.0010, build date Dec 12 2007
// command line args: -profile glslf
//vendor NVIDIA Corporation
//version 2.0.0.10
//profile glslf
//program pixelShaderFunction
//semantic worldViewProjectionInverse : VIEWPROJECTIONINVERSE
//semantic viewInverse : VIEWINVERSE
//semantic environmentSampler
//var float4x4 worldViewProjectionInverse : VIEWPROJECTIONINVERSE : , 4 : -1 : 0
//var float4x4 viewInverse : VIEWINVERSE : _ZZ2SviewInverse[0], 4 : -1 : 1
//var samplerCUBE environmentSampler :  : _ZZ2SenvironmentSampler : -1 : 1
//var float3 input.worldPosition : $vin.TEXCOORD0 : TEXCOORD0 : 0 : 1
//var float4 pixelShaderFunction : $vout.COLOR : COLOR : -1 : 1



struct VertexShaderInput {
    int dummy;
};

struct PixelShaderInput {
    vec3 worldPosition;
};

vec4 _ZZ3Sret_0;
vec3 _ZZ3SZDtemp3;
vec3 _ZZ3SvZh0004;
float _ZZ3SxZh0008;
float _ZZ3SaZh0010;
vec3 _ZZ3ScZh0012;
vec3 _ZZ3SZaTMP13;
uniform mat4 viewInverse;
uniform samplerCube environmentSampler;

 // main procedure, the original name was pixelShaderFunction
void main()
{


    _ZZ3SZaTMP13.x = viewInverse[3].x;
    _ZZ3SZaTMP13.y = viewInverse[3].y;
    _ZZ3SZaTMP13.z = viewInverse[3].z;
    _ZZ3SvZh0004 = _ZZ3SZaTMP13 - gl_TexCoord[0].xyz;
    _ZZ3SxZh0008 = dot(_ZZ3SvZh0004, _ZZ3SvZh0004);
    _ZZ3SZDtemp3 = inversesqrt(_ZZ3SxZh0008)*_ZZ3SvZh0004;
    _ZZ3SaZh0010 = -_ZZ3SZDtemp3.z;
    _ZZ3ScZh0012 = vec3(_ZZ3SZDtemp3.x, abs(_ZZ3SaZh0010) + 9.99999978E-03, -_ZZ3SZDtemp3.y);
    _ZZ3Sret_0 = textureCube(environmentSampler, _ZZ3ScZh0012);
    gl_FragColor = _ZZ3Sret_0;
    return;
} // main end