《Focus On 3D Terrain Programming》中一段代码的注释一

取自《Focus On 3D Terrain Programming》中的一段:
//--------------------------------------------------------------
// Name:              CTERRAIN::FilterHeightBand - private
// Description:       Apply the erosion filter to an individual
//                          band of height values
// Arguments:       -fpBand: the band to be filtered
//                         -iStride: how far to advance per pass
//                         -iCount: Number of passes to make
//                         -fFilter: the filter strength
// Return Value:     None
//--------------------------------------------------------------
void CTERRAIN::FilterHeightBand(float* fpBand, int iStride, int iCount, float fFilter )
{
  float v= fpBand[0];
  int j  = iStride;
  int i;

  //go through(遍历) the height band and apply the erosion filter
  for( i=0; i<iCount-1; i++ )
  {
    fpBand[j]= fFilter*v + ( 1-fFilter )*fpBand[j];
   
    v = fpBand[j];
    j+= iStride;
  }
}
滤波的一段代码,其中iStride就是步长,fFilter就是系数,为此,可以把函数参数名改为以下名称似乎更能说明函数功能:
void FilterHeightBand(float* fpBand,int iStep,int iCount,float fFilterFactor)
posted @ 2014-12-11 12:58  一名老程序员  阅读(225)  评论(0编辑  收藏  举报