OpenGL v2

Тема в разделе "WASM.HARDWARE", создана пользователем Semiono, 20 дек 2024.

  1. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    793
    Кажись софт хочет openGL
    Можно ли отучить софт от opengl? Или эмулировать чем то? ))
    Другой вопрос, можно как-то на Win8.1 поставить драйвер от Win10?
    У меня видео в процессоре Ryzon 5, дров нет.
    А вот почему PCI\VEN_1002&DEV_1638&SUBSYS_88091043&REV_C9\4&3293EFF9&0&0041
    в файле INF для Win10 нету? В каждой Windows по разному обозначается что ли?
    Есть ли в INF прямой запрет версии Windows? Иногда пытается что-то шуршать, а
    иногда сразу отвергает, почему?
    Вобщем хочется насильно поставить) Или там *sys радикально переписан по 10-ку?
    Блин, на одном компе и не работает. Win8.1 ставит Microsoft что-то дефолтом, и работает
    отлично, но наверное без opengl, только в этом проблема.
     
  2. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.871
    Semiono нравится это.
  3. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    793
    Das ist fantastisch! MesaForWindows-x64-20.1.8.7z opengl32.dll - работает!
    Файлик от Win10 не подошёл, там сразу всякие зависимости вылезли.
    А этот какой-то опен-сорсовый)
     
  4. aa_dav

    aa_dav Active Member

    Публикаций:
    0
    Регистрация:
    24 дек 2008
    Сообщения:
    479
    MS видела в openg конкурента, поэтому поддержка его очень слабая.
    На винде поэтому opengl32.dll должны заменить драйвера видеокарты. Вся поддержка ложится исключительно на вендора, сама винда чего то поддерживать и какие то дрова универсальные дефолтом накатываемые не собиралась никогда.
    Mesa это софтовая реализация.
     
  5. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    793
    У меня снова проблема! Два плагина, то-есть хост EXE один, а плагины DLL их два и каждый из них работает только с одной реализацией opengl32.dll.
    Ну, это, конечно, легко! Взял переименовал в opengl64.dll и там и тут()
    Однако, открывается белое окно, пустое без прорисовки. Причём явно нет больше никаких следов кроме трёх раз opengl32.dll внутри самого opengl32.dll,
    я их тоже исправил на opengl64.dll. Даже opengl32.pdb исправил, хотя это кажись дебаг информация ненужная.
    В чём дело? Почему переименовать нельзя? Возможно он сам вызывает opengl32.dll системный, но я пробовал разные варианты комбинировать)
     
  6. aa_dav

    aa_dav Active Member

    Публикаций:
    0
    Регистрация:
    24 дек 2008
    Сообщения:
    479
    На 64-битной винде выработана схема когда в windows/sysWOW64 лежат 32-битные библиотеки (wow расшировывается по сути как Windows 32 on Windows 64), а в windows/system32 лежат 64-битные библиотеки. При этом называются они так же как в 32-битной версии просто для совместимости поколений - мол достаточно в проекте программном поставить галочку "64 bit" и можно компилировать под 64 бита ничего больше в проекте не меняя включая имена библиотек.
     
  7. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    793
    Наверное opengl32.dll вызывает функции из других DLL, а те снова обращаются к opengl32.dll
    и если файл переименован не находят его))
    Был бы способ прицепить библиотеку к файлу, записать в хвост вызывающего модуля)
    Наверное хакеры умеют такое)) Меня удивляет когда открываешь KeyGen.exe и там
    ни одной api, никаких DLL и нет записей реестра, вообще никаких букав!
    При этом файл не запакован, как такое возможно? Ещё и диалог и окно!

    :)
     
  8. MaKsIm

    MaKsIm Active Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    120
    Это просто. Достаточно сделать алгоритм поиска АПИ по хешу имени функции. Загрузку библиотек можно сделать тоже вручную, а вот первые функции и соответственно линки можно найти путем сканирования памяти на наличие PE секций. Находите таким способом ntdll или kernel32 и там уже все функции есть.

    При этом хеш функция для имен может быть любая. От банальной суммы кодов символов до CRC или MD5.
     
    Semiono нравится это.