Czytałem o implementation algorytmu z kwadratowymi kwadratami w języku C#, który otacza się, aby tworzyć spójne tekstury. Aby obliczyć następny punkt, bierze się średnią z czterech punktów próbki ułożonych w kwadrat lub brylant. Jeśli przykładowy punkt leży na krawędzi tekstury, jest owinięty wokół drugiej strony. To opakowanie wydaje się to zrobić za pomocą następującej metody:Jaka jest funkcja bitowego & w tym zestawieniu?
public double sample(int x, int y)
{
return values[(x & (width - 1)) + (y & (height - 1)) * width];
}
Trochę badań mówi mi, że jest to operator bitowe. Nie używałem ich wcześniej, a wikipedia article nie było oświeceniem. Czy ktoś mógłby wyjaśnić, co robi operator w tej metodzie operator &
?
EDIT: Wymiary tekstury zawsze są potęgami dwójki