Если в вашем коде есть проблема, я думаю, это странный способ работы с v_texCoord.Вы уверены, что не хотите использовать матрицу вместо vTexCoord?Если оставить это в стороне, вопреки моим ожиданиям, texture2DProj
определено в GLSL ES 1.0, и кажется, что в противном случае он синтаксически правильный, с совпадающими различными именами.
Отладка GLSL, когда у вас нет доступного пошагового отладчика, имеет тенденцию квключать вывод промежуточных значений в виде цветов фрагмента.Итак, ваши тесты могут быть:
- настроить ваш фрагментный шейдер для вывода постоянного цвета, например ярко-красного.Если ваша геометрия не меняется на ярко-красный, значит, ваша программа неправильно связывается, и вам следует проверить журнал на наличие ошибок компиляции.
- Попробуйте установить gl_FragColor в подходяще адаптированной версии v_texCoord.Попробуйте загрузить v_texCoord с разными промежуточными значениями из вершинного шейдера.Посмотрите на вывод, чтобы убедиться, что вы получаете правильные сортировки чисел.
- попробуйте текстурирование без проективного шага, чтобы убедиться, что вы загружаете текстуру и правильно устанавливаете соответствующую форму.
Плюс любой другой вариант, который вы можете придумать в том же духе.