#c #visual-studio
#c #visual-studio
Вопрос:
Я следую этому руководству, где в 15:30 адрес внутри репозитория проекта вводится следующим образом:
ShaderProgramSource source = ParseShader("res/shaders/Basic.shader");
Я следовал руководству с самого начала буква за буквой, и вот тут все начинает рушиться, я не могу заставить ссылки на этот файл .shader работать, если я не поставлю ../ в начале:
ShaderProgramSource source = ParseShader("../res/shaders/Basic.shader");
и даже когда я это делаю, MSVC или OpenGL не жалуются, но с этого момента код просто не работает. Моя геометрия визуализируется, но шейдер не работает. Есть ли какие-либо настройки Visual Studio, которые меня саботируют?
—
Папка res находится внутри каталога моего проекта:
И мой рабочий каталог:
Комментарии:
1. Если вам нужно добавить ../ в путь к файлу, это означает, что файл находится в родительской папке res/shaders/Basic . Возможно, дважды проверьте этот каталог и его подкаталоги, убедитесь, что вы знаете, где находится файл, а затем вызовите функцию с правильным путем.
2. Я отредактировал исходное сообщение и добавил несколько скриншотов.
3. Странно, что ../res работает. Я бы не ожидал такого от той информации, которую вы опубликовали. Я бы ожидал
res/shaders/Basic.shader
, что буду работать. Я предполагаю, что в вашемc
проекте нет кода, который изменял бы рабочий каталог.4. Функции OpenGL не выделяют синтаксис после этой строки, так что здесь что-то идет не так. OpenGL ужасен в отладке ошибок, поэтому я не знаю, что именно и почему он перестает жаловаться после того, как я добавляю ../
5.
../res/shaders/Basic.shader
не должно иметь никакого отношения к подсветке синтаксиса вообще. Шейдер загружается во время выполнения.