Я изучаю WebGL и хотел бы сделать следующее:
Создайте трехмерный четырехугольник с квадратным отверстием в нем, используя фрагментный шейдер.
Похоже, мне нужно установить gl_FragColor
на основе gl_FragCoord
соответственно.
Так я должен:
a) Преобразовать gl_FragCoord
из координат окна в координаты модели, выполнить соответствующую проверку геометрии и установить цвет.
OR
б) Каким-то образом передать информацию о дыре от вершинного шейдера к фрагментному шейдеру. Может быть, использовать координату текстуры. Мне не ясно в этой части.
Я не совсем уверен в реализации любого из вышеперечисленного, поэтому я бы оценил некоторые подсказки по кодированию для любого из них.
Мой опыт - старый таймер OpenGL, который не поспевал за новой парадигмой языка шейдинга и теперь пытается наверстать упущенное ...
Редактировать (27.03.2011):
Мне удалось успешно реализовать вышесказанное, основываясь на подсказке о координатах tex. Я написал этот пример по ссылке ниже:
Квадраты с отверстиями - пример