- 23, Oct 2024
- #1
Я пробовал искать везде, но так и не понял. Как сетке назначаются несколько шейдеров, если в OpenGL можно связать только один шейдер?
Предположим, у меня есть сетка с текстурным шейдером, и теперь я делаю приведение лучей из положения мыши, чтобы выбрать объект в редакторе. В этом случае я хотел бы применить шейдер выделения, который подчеркивает, что сетка выбрана, но при этом сохраняет шейдер текстуры сетки.
Я хочу применить шейдер выделения поверх шейдера текстуры сетки. Как это вообще делается в игровых движках?
Один из способов сделать это — создать полностью третий шейдер, представляющий собой комбинацию обоих шейдеров, и просто применить третий шейдер. Но это не кажется эффективным и может стать утомительным при попытке добавить новые шейдеры; теперь вам нужно указать шейдер выбора для каждого шейдера в игре, если он выбран в редакторе.
Любая помощь приветствуется, и если вы сможете найти какой-нибудь материал для чтения, это было бы потрясающе.
#opengl #рендеринг #шейдер #сетка