1 2/* 3** Copyright (c) 2012 The Khronos Group Inc. 4** 5** Permission is hereby granted, free of charge, to any person obtaining a 6** copy of this software and/or associated documentation files (the 7** "Materials"), to deal in the Materials without restriction, including 8** without limitation the rights to use, copy, modify, merge, publish, 9** distribute, sublicense, and/or sell copies of the Materials, and to 10** permit persons to whom the Materials are furnished to do so, subject to 11** the following conditions: 12** 13** The above copyright notice and this permission notice shall be included 14** in all copies or substantial portions of the Materials. 15** 16** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 23*/ 24 25 26attribute vec4 gtf_Vertex; 27uniform mat4 gtf_ModelViewProjectionMatrix; 28varying vec4 color; 29 30void main (void) 31{ 32 bool result = true; 33 bool a = true; 34 bool b = true; 35 36 if( (a&&b) ) 37 result = result && true; 38 else 39 result = result && false; 40 41 if( (a||b) ) 42 result = result && true; 43 else 44 result = result && false; 45 46 if( !(a^^b) ) 47 result = result && true; 48 else 49 result = result && false; 50 51 a = true; 52 b = false; 53 54 if( !(a&&b) ) 55 result = result && true; 56 else 57 result = result && false; 58 59 if( (a||b) ) 60 result = result && true; 61 else 62 result = result && false; 63 64 if( (a^^b) ) 65 result = result && true; 66 else 67 result = result && false; 68 69 a = false; 70 b = true; 71 72 if( !(a&&b) ) 73 result = result && true; 74 else 75 result = result && false; 76 77 if( (a||b) ) 78 result = result && true; 79 else 80 result = result && false; 81 82 if( (a^^b) ) 83 result = result && true; 84 else 85 result = result && false; 86 87 a = false; 88 b = false; 89 90 if( !(a&&b) ) 91 result = result && true; 92 else 93 result = result && false; 94 95 if( !(a||b) ) 96 result = result && true; 97 else 98 result = result && false; 99 100 if( !(a^^b) ) 101 result = result && true; 102 else 103 result = result && false; 104 105 float gray; 106 if( result ) 107 gray=1.0; 108 else gray=0.0; 109 color = vec4(gray, gray, gray, 1.0); 110 gl_Position = gtf_ModelViewProjectionMatrix * gtf_Vertex; 111} 112