{$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}