совсем немного кода, а какая разница. внутри, конечно, всё ещё 18.2 кадра в секунду, а снаружи 60. собственно, интерполятору плевать, сколько там снаружи — как и полагается порядочному интерполятору: будет меньше или больше — он подстроится. всё это почти бесплатно, потому что система снапшотов всё равно нужна для будущей сетки.
это я, в общем, к тому, что не ленись — интерполировай!
кстати. никто не в курсе, как в опенгл захреначить blending mode, чтобы цвета блендились как при "GL_SRC_ALPHA, GL_ONE", а альфа суммировалась как-нибудь в виде ares = (a0+a1)/2? то бишь, чтобы на выходе после наложения кучи текстур со светом друг на дружку в FBO получилась одна текстура, где и правильные цвета, и накопленая альфа. без долбёжки одной текстурой несколько раз — такой вариант мне почти бесполезен. потому что не знаю, кто понимает OpenGL blending modes, но кто их совсем не понимает — это я знаю точно.
жопой чую, что тут надо premultiplied alpha делать с цветами, и… и что-то ещё. к сожалению, фрагментный шэйдер не может получить цвет из текстуры, на которую рисуем, поэтому написать блендер на шэйдерах не вариант. ну, не вариант без копирования текстуры туда-сюда, что делает «оптимизацию» в моём случае бесполезной.