Работает, но вот этот цирк мне не понятен
X++:
static int glClearColor(real red, real green, real blue, real alpha)
{
DLL _winApiDLL = new DLL("OPENGL32.dll");
DLLFunction _glClearColor = new DLLFunction(_winApiDLL, 'glClearColor');
COMVariant r = new COMVariant();
COMVariant g = new COMVariant();
COMVariant b = new COMVariant();
COMVariant a = new COMVariant();
r.float(red);
g.float(green);
b.float(blue);
a.float(alpha);
_glClearColor.returns(ExtTypes::void);
_glClearColor.arg(ExtTypes::DWord, ExtTypes::DWord, ExtTypes::DWord, ExtTypes::DWord);
return _glClearColor.call(r.int(), g.int(), b.int(), a.int());
}