Это так называемый rotozoom. Т.е. поворот с циклическим увеличением/уменьшением текстуры. В данном случае используется XOR-текстура. Размер поля обязательно должен быть степенью двойки.
XOR - текстура
XOR-текстура генерируется путем выполнения xor над координатами точки:
for(var y=0; y < SCREEN_HEIGHT; y++)
for(var x=0; x < SCREEN_WIDTH; x++)
tex[x][y] = (y^x) & 255;