зеркало из https://github.com/stride3d/xkslang.git
62 строки
828 B
GLSL
62 строки
828 B
GLSL
#version 110
|
|
|
|
#define ON
|
|
|
|
float sum = 0.0;
|
|
|
|
void main()
|
|
{
|
|
|
|
#ifdef ON
|
|
//yes
|
|
sum += 1.0;
|
|
#endif
|
|
|
|
#ifdef OFF
|
|
//no
|
|
sum += 20.0;
|
|
#endif
|
|
|
|
#if defined(ON)
|
|
//yes
|
|
sum += 300.0;
|
|
#endif
|
|
|
|
#if defined(OFF)
|
|
//no
|
|
sum += 4000.0;
|
|
#endif
|
|
|
|
#if !defined(ON)
|
|
//no
|
|
sum += 50000.0;
|
|
#endif
|
|
|
|
#if !defined(OFF)
|
|
//yes
|
|
sum += 600000.0;
|
|
#endif
|
|
|
|
#if defined (ON) && defined (OFF)
|
|
//no
|
|
sum += 7000000.0;
|
|
#endif
|
|
|
|
#if defined ( ON ) && ! defined(OFF)
|
|
//yes
|
|
sum += 80000000.0;
|
|
#endif
|
|
|
|
#if defined(OFF) || defined(ON)
|
|
//yes
|
|
sum += 900000000.0;
|
|
#endif
|
|
|
|
// sum should be 980600301.0
|
|
gl_Position = vec4(sum);
|
|
}
|
|
|
|
#define FUNC(a,b) a+b
|
|
// needs to be last test in file due to syntax error
|
|
void foo986(){ FUNC( (((2)))), 4); } // ERROR, too many )
|