зеркало из https://github.com/stride3d/xkslang.git
119 строки
2.7 KiB
GLSL
119 строки
2.7 KiB
GLSL
#version 130
|
|
#extension GL_ARB_texture_gather : enable
|
|
|
|
vec3 a;
|
|
float b;
|
|
|
|
in vec4 i;
|
|
out vec4 o;
|
|
out ivec3 io;
|
|
out uvec4 uo;
|
|
|
|
flat in float fflat;
|
|
smooth in float fsmooth;
|
|
noperspective in float fnop;
|
|
|
|
uniform samplerCube sampC;
|
|
|
|
in vec4 gl_Color;
|
|
flat in vec4 gl_Color;
|
|
|
|
#extension GL_ARB_texture_rectangle : enable
|
|
|
|
uniform sampler2D samp2D;
|
|
uniform sampler2DShadow samp2DS;
|
|
uniform sampler2DRect samp2DR;
|
|
uniform sampler2DArray samp2DA;
|
|
|
|
void bar3()
|
|
{
|
|
o += textureGatherOffset(samp2D, vec2(0.3), ivec2(1));
|
|
o += textureGatherOffset(samp2DA, vec3(0.3), ivec2(1));
|
|
}
|
|
|
|
#extension GL_ARB_gpu_shader5 : enable
|
|
|
|
void bar4()
|
|
{
|
|
o += textureGatherOffset(samp2DR, vec2(0.3), ivec2(1));
|
|
o += textureGatherOffset(samp2DS, vec2(0.3), 1.3, ivec2(1));
|
|
o += textureGatherOffset(samp2D, vec2(0.3), ivec2(1), 2);
|
|
}
|
|
|
|
#extension GL_ARB_texture_cube_map_array : enable
|
|
|
|
uniform samplerCubeArray Sca;
|
|
uniform isamplerCubeArray Isca;
|
|
uniform usamplerCubeArray Usca;
|
|
uniform samplerCubeArrayShadow Scas;
|
|
|
|
void bar5()
|
|
{
|
|
io = textureSize(Sca, 3);
|
|
o += texture(Sca, i);
|
|
io += texture(Isca, i, 0.7).xyz;
|
|
uo = texture(Usca, i);
|
|
|
|
o += textureLod(Sca, i, 1.7);
|
|
a = textureSize(Scas, 3);
|
|
float f = texture(Scas, i, i.y);
|
|
ivec4 c = textureGrad(Isca, i, vec3(0.1), vec3(0.2));
|
|
o += vec4(a, f + c);
|
|
}
|
|
|
|
#extension GL_ARB_shading_language_420pack : enable
|
|
|
|
const int ai[3] = { 10, 23, 32 };
|
|
uniform layout(binding=0) sampler2D bounds;
|
|
|
|
void bar6()
|
|
{
|
|
mat4x3 m43;
|
|
float a1 = m43[3].y;
|
|
//int a2 = m43.length(); // ERROR until shading_language_420pack is fully implemented
|
|
const float b = 2 * a1;
|
|
//a.x = gl_MinProgramTexelOffset + gl_MaxProgramTexelOffset; // ERROR until shading_language_420pack is fully implemented
|
|
}
|
|
|
|
|
|
#extension GL_ARB_texture_rectangle : enable
|
|
#extension GL_ARB_shader_texture_lod : require
|
|
|
|
uniform sampler2D s2D;
|
|
uniform sampler2DRect s2DR;
|
|
uniform sampler2DRectShadow s2DRS;
|
|
uniform sampler1D s1D;
|
|
uniform sampler2DShadow s2DS;
|
|
|
|
uniform float f;
|
|
uniform vec2 v2;
|
|
uniform vec3 v3;
|
|
uniform vec4 v4;
|
|
|
|
void bar7()
|
|
{
|
|
vec4 v;
|
|
|
|
o += texture2DRect(s2DR, v2);
|
|
o += texture2DRectProj(s2DR, v3);
|
|
o += texture2DRectProj(s2DR, v4);
|
|
o += shadow2DRect(s2DRS, v3);
|
|
o += shadow2DRectProj(s2DRS, v4);
|
|
|
|
o += texture1DGradARB(s1D, f, f, f);
|
|
o += texture2DProjGradARB(s2D, v, v2, v2);
|
|
o += shadow2DProjGradARB(s2DS, v, v2, v2);
|
|
|
|
o += shadow2DRectProjGradARB(s2DRS, v, v2, v2);
|
|
}
|
|
|
|
void main()
|
|
{
|
|
o = textureGather(sampC, vec3(0.2));
|
|
o.y = gl_ClipDistance[3];
|
|
bar3();
|
|
bar4();
|
|
bar5();
|
|
bar6();
|
|
bar7();
|
|
} |