Я пытаюсь визуализировать неравномерно масштабированную сферу ( эллипсоид ), используя точечный спрайт в GLSL 440 или GLSL версии выше, чем 330.
Как мы знаем, точечный спрайт в GLSL может легко нарисовать единичную сферу, но трудно создать эллипсоид с особыми требованиями.
Мои мысли следующие:
- Во-первых, у меня есть точка (центр сферы);
- Затем визуализировать единичную сферу, используя точечный спрайт;
- Предположим, что сфера преобразуется матрицей вращения (неравномерно масштабирована);
- Затем преобразованный эллипсоид отображается на экране. ссылка: Линия-эллипсоидное пересечение
В старой версии OpenGL функция glutSloidSphere () в GLUT lib может легко это реализовать, но как я могу кодировать в современном OpenGL 4.x, используя фрагментный шейдер?
Большое спасибо!
Окончательный эффект, который я хочу, аналогичен показанному ниже.