Как нарисовать неравномерно масштабированную трехмерную сферу (эллипсоид), используя точечный спрайт в современном GLSL? - PullRequest
0 голосов
/ 31 мая 2019

Я пытаюсь визуализировать неравномерно масштабированную сферу ( эллипсоид ), используя точечный спрайт в GLSL 440 или GLSL версии выше, чем 330.

Как мы знаем, точечный спрайт в GLSL может легко нарисовать единичную сферу, но трудно создать эллипсоид с особыми требованиями.

Мои мысли следующие:

  1. Во-первых, у меня есть точка (центр сферы);
  2. Затем визуализировать единичную сферу, используя точечный спрайт;
  3. Предположим, что сфера преобразуется матрицей вращения (неравномерно масштабирована);
  4. Затем преобразованный эллипсоид отображается на экране. ссылка: Линия-эллипсоидное пересечение

В старой версии OpenGL функция glutSloidSphere () в GLUT lib может легко это реализовать, но как я могу кодировать в современном OpenGL 4.x, используя фрагментный шейдер? Большое спасибо!

Окончательный эффект, который я хочу, аналогичен показанному ниже.

Effect Image01

Effect Image02

...