-
да, кстати...
> но нагрузка на процессор никуда не делась и оставить её, > я не могу тк считаю дурным тоном нагружать процессор будущего > пользователя, зная что с использованием OpenGL можно возложить > задачу на ГПУ.
имхо реализация на CPU и небольшая (ну или большая, как получится) загрузка его с лихвой перекроют собственные мучения с рендером и его вкрячиванием в программу, и возможными проблемами у пользователя потом (драйвера, другой мешающийся софт, железо (например на ноуте включение дискретной видеокарты может быть нежелательным для юзера))
-
Sapersky
> glTranslatef(0.5,0.5,0) к текстурной трансформации, или > 0.5,0,0
с (0.5,0.5,0) очень сильное увеличение, а с (0.5,0,0) картинка получается однотонно серой :)
antonn
> имхо реализация на CPU и небольшая (ну или большая, как > получится) загрузка его с лихвой перекроют собственные мучения > с рендером и его вкрячиванием в программу, и возможными > проблемами у пользователя потом (драйвера, другой мешающийся > софт, железо (например на ноуте включение дискретной видеокарты > может быть нежелательным для юзера))
исходил из того что OpenGL по умолчанию вместе с виндой идёт и процессор не грузит почти и видеокарту, ну или грузит последнюю, но несильно. Ну и он всё ж немного красивее Но в целом согласен и с радостью использую ЦПУ-шную реализацию! :) Надеюсь у Sapersky получится оптимизировать второй пример, а потом можно как Вы предложили фиксировать fps таймером скажем на 90, чтоб и загрузки процессора практически не было и анимация быстрая :
-
> Wladimir1987 © (11.04.13 16:19)
См. примеры шейдеров.
-
Может, после каждой итерации присваивать крайним пикселям значения [крайних-1]?
Хотя нет, в TMainForm.simulEdges() это и делается - но на отражения никак не влияет.
с (0.5,0.5,0) очень сильное увеличение, а с (0.5,0,0) картинка получается однотонно серой :)
Точно к текстурной трансформации добавляешь? Т.е. между glMatrixMode(GL_TEXTURE); и glMatrixMode(GL_MODELVIEW); если да - выложи свою текстуру.
Надеюсь у Sapersky получится оптимизировать второй пример, а потом можно как Вы предложили фиксировать fps таймером скажем на 90, чтоб и загрузки процессора практически не было и анимация быстрая
Совсем без нагрузки не получится, разве что в маленьком окне. Проверил ради интереса пример из [9] на 1920*1080 - как раз 90 FPS с полной загрузкой i5. Но не ко всякому 1920*1080 прилагается i5.
-
> Точно к текстурной трансформации добавляешь? Т.е. между
да, между, те код как и на пред. странице в сообщении нр. 13, только цифры менял. Текстура 256x256. Кстати, а можно сделать текстуру больше размером. Оригинальная картинка размером 337 на 590, но когда я загружаю её, то она тераяет цвета, а та что 256x256 растягивается и получается нечёткой вот текстура + оригинал http://sendfile.su/uploaded.php?ok=794400&err=0 > Совсем без нагрузки не получится, разве что в маленьком > окне. > Проверил ради интереса пример из [9] на 1920*1080 - как > раз 90 FPS с полной загрузкой i5. Но не ко всякому 1920*1080 > прилагается i5.
Ну нагрузка будет это ни страшно, но скорость в 90 FPS при разрешении (внимание!) 1920*1080 и думаю это очень быстро! :) У меня i7 в ноуте и скорость при картинке 337 на 590 максимум 120+-10 fps
-
"Выцветание" - это глюк загрузки картинки "некруглой" ширины. Если обрезать до 332, скажем - нормально загружается. Можно поправить функцию загрузки, но проще наверное найти нормальную загрузку OGL-текстуры в сети. За исключением этого размеры в принципе любые.
Как бороться с раздвоенностью картинки при выводе в пропорциональном масштабе я не знаю. Теоретически должно помогать такое: glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); // или GL_CLAMP_TO_EDGE glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP ); но не помогает.
-
Sapersky Ничего страшного, если пример с OGL трудно "оседлать" ;) то ну его! Можно узнать насчёт реализации на ЦПУ? На ЦПУ тоже очень классный пример! на прошлой странице Вы писали о
> Хотя это не самое узкое место, просто в оригинале сделано > криво - 6 вызовов функции на пиксель.
апдейт MBo пробовал, скорость обработки действительно возросла и хотел бы узнать насчет вашей оптимизации. Я был бы рад снижению нагрузки на цпу не в ущерб качеству, но в педелах разумного, те оптимизации алгоритма, настолько, насколько возможно!
-
|