/content/canvas/test/webgl/conformance/glsl/functions/glsl-function-mix-float.html

http://github.com/zpao/v8monkey · HTML · 53 lines · 47 code · 1 blank · 5 comment · 0 complexity · 500f5ed2e300509d8fda18e6537a4dee MD5 · raw file

  1. <!--
  2. Copyright (c) 2011 The Chromium Authors. All rights reserved.
  3. Use of this source code is governed by a BSD-style license that can be
  4. found in the LICENSE file.
  5. -->
  6. <!DOCTYPE html>
  7. <html>
  8. <head>
  9. <meta charset="utf-8">
  10. <title>GLSL mix-float function test</title>
  11. <link rel="stylesheet" href="../../../resources/js-test-style.css"/>
  12. <link rel="stylesheet" href="../../resources/glsl-feature-tests.css"/>
  13. <script src="../../../resources/js-test-pre.js"></script>
  14. <script src="../../resources/webgl-test.js"> </script>
  15. <script src="../../resources/webgl-test-utils.js"> </script>
  16. <script src="../../resources/glsl-generator.js"> </script>
  17. </head>
  18. <body>
  19. <div id="description"></div>
  20. <div id="console"></div>
  21. <script>
  22. GLSLGenerator.runFeatureTest({
  23. feature: "mix",
  24. args: "$(type) startValue, $(type) endValue, float mixValue",
  25. baseArgs: "startValue$(field), endValue$(field), mixValue",
  26. testFunc: "$(func)($(type), $(type), float)",
  27. emuFunc: [
  28. "float $(func)_base(float startValue, float endValue, float mixValue) {",
  29. " return startValue * (1.0 - mixValue) + endValue * mixValue;",
  30. "}"].join("\n"),
  31. gridRes: 8,
  32. tests: [
  33. ["$(output) = vec4(",
  34. " $(func)(1.0, 0.0, $(input).x),",
  35. " ($(func)(-2.0, 3.0, $(input).y) + 2.0) / 5.0,",
  36. " 0,",
  37. " 1);"].join("\n"),
  38. ["$(output) = vec4(",
  39. " $(func)(vec2(1, -2), vec2(0, 2), $(input).z), ",
  40. " 0, 1);"].join("\n"),
  41. ["$(output) = vec4(",
  42. " $(func)(vec3(1, -2, -1), vec3(0, 2, 3), $(input).y),",
  43. " 1);"].join("\n"),
  44. ["$(output) = ",
  45. " $(func)(vec4(1, -2, -1, 0.5), vec4(0, 2, 3, 1), $(input).w);"
  46. ].join("\n")
  47. ]
  48. });
  49. successfullyParsed = true;
  50. </script>
  51. </body>
  52. </html>