25 строки
738 B
GLSL
25 строки
738 B
GLSL
#version 450
|
|
|
|
layout(location = 0) flat in uint SNORM8;
|
|
layout(location = 1) flat in uint UNORM8;
|
|
layout(location = 2) flat in uint SNORM16;
|
|
layout(location = 3) flat in uint UNORM16;
|
|
layout(location = 4) flat in vec4 FP32;
|
|
layout(location = 0) out vec4 FP32Out;
|
|
layout(location = 1) out uint UNORM8Out;
|
|
layout(location = 2) out uint SNORM8Out;
|
|
layout(location = 3) out uint UNORM16Out;
|
|
layout(location = 4) out uint SNORM16Out;
|
|
|
|
void main()
|
|
{
|
|
FP32Out = unpackUnorm4x8(UNORM8);
|
|
FP32Out = unpackSnorm4x8(SNORM8);
|
|
FP32Out.xy = unpackUnorm2x16(UNORM16);
|
|
FP32Out.xy = unpackSnorm2x16(SNORM16);
|
|
UNORM8Out = packUnorm4x8(FP32);
|
|
SNORM8Out = packSnorm4x8(FP32);
|
|
UNORM16Out = packUnorm2x16(FP32.xy);
|
|
SNORM16Out = packSnorm2x16(FP32.zw);
|
|
}
|