Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(83)

Side by Side Diff: third_party/webgl/sdk/tests/conformance/glsl/misc/shader-with-for-loop.html

Issue 10399113: Roll webgl conformance tests to r17874: part 2, adding r17874 (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/
Patch Set: Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 <!--
2
3 /*
4 ** Copyright (c) 2012 The Khronos Group Inc.
5 **
6 ** Permission is hereby granted, free of charge, to any person obtaining a
7 ** copy of this software and/or associated documentation files (the
8 ** "Materials"), to deal in the Materials without restriction, including
9 ** without limitation the rights to use, copy, modify, merge, publish,
10 ** distribute, sublicense, and/or sell copies of the Materials, and to
11 ** permit persons to whom the Materials are furnished to do so, subject to
12 ** the following conditions:
13 **
14 ** The above copyright notice and this permission notice shall be included
15 ** in all copies or substantial portions of the Materials.
16 **
17 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
24 */
25
26 -->
27
28 <!DOCTYPE html>
29 <html>
30 <head>
31 <meta charset="utf-8">
32 <title>WebGL GLSL Conformance Tests</title>
33 <link rel="stylesheet" href="../../../resources/js-test-style.css"/>
34 <link rel="stylesheet" href="../../resources/glsl-feature-tests.css"/>
35 <script src="../../../resources/js-test-pre.js"></script>
36 <script src="../../resources/webgl-test-utils.js"></script>
37 <script src="../../resources/glsl-conformance-test.js"></script>
38 </head>
39 <body>
40 <div id="description"></div>
41 <div id="console"></div>
42 <script id="fragmentShader" type="text/something-not-javascript">
43 // fragment shader with for loop should succeed
44
45 // TODO(gman): trim to min size to test bug.
46 precision highp float;
47 uniform float time;
48 uniform vec2 resolution;
49
50 // Saw-tooth function that is synced with the demo music (128bpm)
51 float gBeat=fract(time*3.2/3.);
52
53 // Calculate the surface color
54 vec3 surfColor(vec2 p)
55 {
56 vec2 q=vec2(sin(.08*p.x),4.*p.y);
57 vec3 c=vec3(0);
58 for(float i=0.;i<15.;i++)
59 c+=(1.+sin(i*sin(time)+vec3(0.,1.3,2.2)))*.2/length(q-vec2(sin(i),12.*sin( .3*time+i)));
60 return c+vec3(mix(mod(floor(p.x*.2)+floor(p.y*2.2),2.),.2,gBeat));
61 }
62
63 // Ray trace (cylinder)
64 vec3 trace(vec3 o,vec3 d)
65 {
66 d.y*=.65+.1*sin(.5*time);
67 float D=1./(d.y*d.y+d.z*d.z),
68 a=(o.y*d.y+o.z*d.z)*D,
69 b=(o.y*o.y+o.z*o.z-36.)*D,
70 t=-a-sqrt(a*a-b);
71 o+=t*d;
72 return surfColor(vec2(o.x,atan(o.y,o.z)))*(1.+.01*t);
73 }
74
75 void main()
76 {
77 // Screen setup
78 vec2 p=(2.*gl_FragCoord.xy-resolution)/resolution.y,
79 q=2.*gl_FragCoord.xy/resolution-1.;
80
81 // Camera setup
82 vec3 cp=vec3(-time*20.+1.,1.6*sin(time*1.2),2.+2.*cos(time*.3)),
83 ct=cp+vec3(1.,.3*cos(time),-.2),
84 cd=normalize(ct-cp),
85 cr=normalize(cross(cd,vec3(.5*cos(.3*time),0.,1.))),
86 cu=cross(cr,cd),
87 rd=normalize(2.*cd+cr*p.x+cu*p.y);
88
89 // Trace! (+some funky lens/raster effects)
90 vec3 c=trace(cp,rd)*
91 min(1.,1.8-dot(q,q))*
92 (.9+.1*sin(3.*sin(gBeat)*gl_FragCoord.y));
93
94 gl_FragColor=vec4(c,1);
95 }
96 </script>
97 <script>
98 GLSLConformanceTester.runTest();
99 successfullyParsed = true;
100 </script>
101 </body>
102 </html>
103
104
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698