Делаю оверлей для игры Java Minecraft на C++ с использованием OpenGL. Нужно чтобы этот оверлей работал как на самых первых, альфа версиях, так и на самых новых. В snapshot 21w10a игра обновилась до OpenGL Core 3.2, из-за чего вызовы функций типа glBegin, glVertex и так далее, отвалились. До этого обновления игра показывала в glGetString(GL_VERSION) что-то на подобии OpenGL 4.6 Compatibility. Я мало в этом разбираюсь, но как объяснил мне один человек, эти функции не поддерживаются в этой версии. Он посоветовал мне использовать функции из OpenGL Core 3.0 и рисовать шейдерами, для того чтобы мой оверлей был виден как в самых старых так и в новых версиях. Это хорошая идея? Правда ли что таким образом я смогу рисовать как и на Compatibility так и на Core? Почему именно Core 3.0? Как подключить этот Core 3.0 чтобы были видны новые функции?
>>247584698 (OP) Какой еще оверлей? Вон оверлеи xbox game bar, steam, origin на всех прилагах работают независимо от того, какие апи используются. Ты бы честно признался что валхак писать будешь.
>>247584698 (OP) Зачем тебе вообще такое нужно? И не проще ли будет оформить это как мод и посмотреть как это в модах реализовано? Так намного проще будет
>>247588391 Я уверен что эти два фреймворка так же перехватывают отрисовку как это делаю я. Просто, в их фреймворках есть ещё поддержка directx и vulkan, но они мне не нужны. Если я не ошибаюсь, оверлей Steam, как и xbox, рисуется либо как окно, либо перехватывая отрисовку. В зависимости от типа приложения. Если оно полноэкранное — перехват. Если нет — просто окно поверх других окон. За все время поиска, как же рисовать поверх игр даже в полноэкранном режиме, я ни разу не увидел ничего, кроме перехвата отрисовки в процессе. И что-то мне подсказывает, что не увижу. Потому что такого способа нет.
>>247589042 Ты писал так, как будто есть какой-то волшебный способ рисовать поверх всего, даже в полноэкранном режиме, без каких либо перехватов. Мне нужны ответы на вопросы в ОП посте, а не советы по фреймворкам.
>>247584698 (OP) Да, легаси функции 30 летней давности (OpenGL 1.x) нужно выкинуть и рисовать щейдерами. Если уже придумал как внедрится в рендер игры, то советую глянуть библиотеку DearImgui. Она позволяет довольно просто делать графические интерфейсы, тебе самому даже ничего рисовать не придется.
>>247588037 Нахуя его писать, если есть тонны чит-клиентов с килограммами функций? Те функции, которые затрагивают только клиент, не детектятся античитом вообще, только вручную админами
>>247584698 (OP) я хз честно но мне думается тебе придется два рендера пердолить для тсрых и новых систем, если на страых версиях опенгл нельзя рисовать шейдерами.