Не удалось найти точку входа в DLL "opengl32.dll" в заставке
У меня очень странная проблема с моей заставкой C# OpenTK. Когда я компилирую программу и запускаю ее перед изменением расширения, как EXE-файл, он работает правильно. Но когда я меняю расширение на SCR и запускаю его, оно вылетает с исключением System.EntryPointNotFound (функция glCreateProgram в этом случае). В отладчике я проверил это при запуске:
в виде EXE-файла: GL.GetString(StringName.Vendor) -> "Intel" GL.GetString(StringName.Version) -> "2.1.0 - Build 8.15.10.2622"
в виде файла SCR: GL.GetString(StringName.Vendor) -> "Microsoft" GL.GetString(StringName.Version) -> "1.1.0"
В моем приложении я использую конструктор без параметров класса GameWindow для создания контекста OpenGL. Для небольшого эксперимента я изменил расширение на BAT, и оно работает отлично. Я понятия не имею, почему мой контекст OpenGL зависит от расширения файла, я предполагаю, что заставки выполняются системой на каком-то оверлее, но на самом деле я не смог найти решение этой проблемы.
Есть идеи?
1 ответ
Наконец, после долгих поисков я обнаружил, что Intel блокирует аппаратную поддержку заставок с помощью OpenGL. Я изменил расширение на "sCr", чтобы обмануть драйвер, и теперь все работает нормально.
Ссылка: opengl.org forum