HLSL code optimize

Started by coderfreak2022, October 17, 2022, 07:54:07 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

coderfreak2022

The following HLSL pixel shader code is used to perform a 4x4 downsample using a simple box filter. give a way to greatly reduce cost of this shader.


float4 g_OffsetsSample[16];
texture g_Texture;
sampler2D g_Sampler = sampler_state;
{
   texture = (g_Texture);
   MinFilter = Point;
   MagFilter = Point;
   MipFilter = Point;
};

float4 PSMain(float2 vTexCoord : TEXCOORD0) : COLOR
{
   float4 sample = 0.0f;
   for(int i =0; i<16;i++)
   {
     sample += tex2D(g_Sampler, vTexCoord + g_OffsetsSample .xy);
   }

   return sample * (1/16.f);
}