EnDeRJaY
@EnDeRJaY
cout >> "Hello World!" >> endl;

Как делать GLSL шейдеры???

Уже бесит меня этот OpenGL. Знал что будет не просто, но чтобы настолько. Теперь у меня проблемы с шейдерами. В уроках на Хабре ничего не написано про их создание. Не, ну написано. Но написан код, пару слов о GLSL, и то, что шейдеры надо создать, собрать и ещё что-то. Но никакой конкретики. Есть тут люди с непроизвольными размерами мозга (вроде меня).

Так вот. У меня есть несколько вопросов.
0. Бросать ли мне OpenGL?

1.Возможно ли создание шейдеров OpenGL на Visual Studio?(он же вроде с Директом дружит)

2.Какое расширение должно быть у кода, самого шейдера?

3.Как собрать шейдер, и где мне найти линковщик, компилятор?

На 0 отвечать необязательно
  • Вопрос задан
  • 2470 просмотров
Решения вопроса 1
Nipheris
@Nipheris Куратор тега C++
0. Бросать ли мне OpenGL?

Не забудьте C++ дальше учить.
1.Возможно ли создание шейдеров OpenGL на Visual Studio?(он же вроде с Директом дружит)

А что конкретно от Студии нужно? Файлы редактировать сможете, расширения для подсветки тоже были, думаю сможете найти. С дебагом вроде не так круто как с HLSL, но вам может пока и не надо.
2.Какое расширение должно быть у кода, самого шейдера?

.frag/.vert или .frag.glsl/.vert.glsl или просто .glsl, это всё условность, загружать текст шейдеров всё равно вы сами будете.
3.Как собрать шейдер, и где мне найти линковщик, компилятор?

glSharedSource/glCompileShader - пока этого будет вам достаточно.

Уже бесит меня этот OpenGL. Знал что будет не просто, но чтобы настолько.

Видимо у вас наивное представление о предмете разговора.
OpenGL - это графическое API, которое используется как в академической, так и в профессиональной среде. Оно конечно заметно проще чем Vulkan или тем более Direct3D, но всё-таки это не учебное API. Современные версии OpenGL отвечают требованиям даже крупных игровых проектов, т.е. у современного OpenGL достаточно продвинутая архитектура, отвечающая темпам развития графического оборудования.
Иными словами, вы выбрали в общем-то профессиональный инструмент, и вы пока что к этому не готовы. GLSL - это отдельная большая история, он требует знаний не меньше, чем весь остальной OpenGL. По языку шейдеров пишут самостоятельные книги, по нему даже соревнования проводят на всяких сценерских движухах - кто круче шейдер напишет за ограниченное время.

Это я пишу не чтобы отбить у вас желание учить, а для того чтобы вы понимали, что в IT и программировании есть достаточно сложные и объёмные вещи, которыми с разбегу не овладеешь. Если вы ещё и C++ только начали учить, но вам тем более тяжело должно быть. Я впервые сделал что-то потребное на OpenGL только на 4-м курсе, уже чувствуя себя комфортно в плюсах.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Alexander1705
GLSL шейдеры компилируются с помощью вашего драйвера при каждом запуске opengl приложения. Вам нужно передать ему исходный код с помощью соответствующих функций OpenGL.

www.opengl-tutorial.org/beginners-tutorials/tutori...
Ответ написан
Комментировать
vt4a2h
@vt4a2h Куратор тега C++
Senior software engineer (C++/Qt/boost)
Для начала следует научиться пользоваться поиском. Ответы на все ваши вопросы, кроме персонального, можно нагуглить за считанные минуты. Гуглить желательно на английском.
Пора уже привыкнуть, что до того момента, пока вы не наберёте определённый опыт (да и во многих случаях потом) ничего не будет работать с первого раза, а если и будет, то, не так как надо. Никто вообще не обязан вам предоставлять какую бы то ни было конкретику и т.п. Непонятно? Гуглите, читайте книги, собирайте материал из разных источников. Ещё раз, на вопросы вашего уровня уже давным-давно есть сотни ответов в интернете.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы