Я разрабатываю инструмент визуализации в OpenGL, чтобы визуализировать вывод приложения моделирования трехмерного конечного элемента. Приложение использует тетраэдрическую сетку (но я рассматриваю только внешние грани, которые являются треугольниками). Результат - это скалярная переменная, которую я хочу сопоставить с цветовой картой (я уже знаю, как это сделать). Сложная часть состоит в том, что значение переменной в каждой ячейке задается полиномиальной функцией (я думаю, что она имеет степень 3, но еще не завершена) координат в этой ячейке.Как вы выполняете нелинейное затенение в OpenGL?
В OpenGL, если я использую «гладкую» модель затенения, то, если я создаю многоугольник и даю каждой вершине другое значение, то он автоматически интерполирует (линейно) между значениями в вершинах, чтобы получить значения цвета в точках интерьера. Но это просто дает линейную функцию в каждой ячейке, и я хочу, чтобы это была нелинейная функция, которую я указываю. Есть ли способ сделать это?
(Разумеется, одним из решений было бы интерполировать «вручную», рисуя каждую ячейку в виде композита из гораздо меньших полигонов OpenGL, которые достаточно малы, чтобы цвет не сильно менялся в каждом из них. знать, если сам OpenGL имеет решение.)