|
- {$STATIC BaseVec 'vec2(0.0)'}
-
- {$CLASS Base1}
- {$FUNC 'vec2' 'TestProc' 'vec2' 'aVec'}
- vec2 tmp = aVec;
- tmp += vec2(1.0);
- return tmp;
- {$END}
- {$END}
-
- {$CLASS Base2}
- {$FUNC 'vec2' 'TestProc' 'vec2' 'aVec'}
- return aVec + vec2(1.0);
- {$END}
- {$END}
-
- {$CLASS SimpleClass $EXTENDS Base1 Base2}
- {$UNIFORM 'sampler2D' 'uTexture0'}
- {$UNIFORM 'sampler2D' 'uTexture1'}
- {$UNIFORM 'vec4' 'uColor'}
-
- {$FUNC 'vec2' 'TestProc' 'vec2' 'aVec'}
- vec2 v = aVec;
- v = {$INHERITED Base1 TestProc BaseVec $INLINE};
- v = {$INHERITED Base2 'v'};
- return v;
- {$END}
-
- {$MAIN}
- vec2 texCoord = {$CALL TestProc 'gl_TexCoord[0]'};
- gl_FragColor =
- texture2D(uTexture0, texCoord) *
- texture2D(uTexture1, texCoord) *
- uColor;
- {$END}
- {$END}
|