LINUX.ORG.RU

Вопрос про изменение графики через LibGL

 ,


0

2

Нашел на одном из форумов такое сообщение: «Через LD_PRELOAD поотключал в libGL всё, что можно было. Игра - Homeworld. То, что понизить качество графики можно только в настройках игры, - ерунда. Даже вот голым LD_PRELOAD можно сделать с качеством графики что-угодно: отключить шейдеры, понизить размер текстур, отключить освещение итп. Возможно, если очень постараться, можно даже понизить колечество полигонов, что очень сильно повысит fps. Но в этом я не на 100% уверен.» И скриншот прилагался: http://i.piccy.info/i9/d6f63800162d89d0280e728af0ce0bde/1569570461/72268/1339782/Screenshot_20190927_103450.png. Не подскажете, какими командами это делается? Единственное вменяемое, что мне удалось найти это: https://www.mesa3d.org/envvars.html . В этом списке есть команда «LP_PERF», через неё можно немного менять графику, но такого эффекта, как на скриншоте не достичь.



Последнее исправление: seven768 (всего исправлений: 4)

Никто с этим не знаком?

seven768
() автор топика

Это делается не командами, а написанием кода.

Библиотеки, указанные в LD_PRELOAD, загружаются при запуске дочерних процессов. При поиске символов берётся имя из первой библиотеки, в которой такой символ есть. Так что если ты сделаешь библиотеку с экспортированной функцией glUseProgram и загрузишь её через LD_PRELOAD, программа будет вызывать твою версию glUseProgram, а не версию из libGL.so.1. Если твоя версия ничего не делает, то шейдеры не будут работать. Вот так тщательным подбором действий в перехваченных функциях можно подправлять поведение программ.

i-rinat ★★★★★
()

какие всё таки находчивые обладатели амуде, что только не придумают, чтоб поиграть без видеокарты

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.