93 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
| #version 140
 | |
| #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;
 | |
| 
 | |
| #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;
 | |
| 
 | |
| void main()
 | |
| {
 | |
|     o = textureGather(sampC, vec3(0.2));
 | |
|     o.y =  gl_ClipDistance[3];
 | |
|     bar3();
 | |
|     bar4();
 | |
|     bar5();
 | |
|     bar6();
 | |
| } | 
