Тема: raycasting
Показать сообщение отдельно
Старый 26.12.2013, 17:47   #42
alko
Оператор ЭВМ
 
Регистрация: 21.12.2013
Сообщений: 20
Написано 10 полезных сообщений
(для 10 пользователей)
Ответ: raycasting

За счёт побитного скролла fps увеличился с 50-ти до 62-ух (это если стенку в вплотную разглядывать... При разглядывании спрайтов fps почти вдвое меньше становится)
    int d1=lineHeight * 128; 
       int d2=h * 128; 
       for(int y = drawStart; y < drawEnd; y++) 
       { 
        int d = y *256 - d2 + d1;  //256 and 128 factors to avoid floats 
        int texY = ((d * texHeight) / lineHeight) >>8; 
         Uint32 color =texture[texNum][texWidth * texY + texX]; 
         if(side == 1) color = (color >> 1) & 8355711; 
         buffer[x][y] = color; 
             }
Если " у*256 " заменить на " y<<8 " - там происходит сатана с текстурами.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pepel (26.12.2013)