Функция GLSL SDF для квадраторов и линий? - PullRequest
0 голосов
/ 24 марта 2020

Я занимаюсь разработкой графической системы для PyQt5 с использованием PyOpenGL. На данный момент я успешно создал систему, состоящую из рендерера Python, растеризатора GLSL и тестового контекста. Это работает так, что проект, который будет использовать этот рендерер, импортирует shaderProgram.py, затем создает окно PyQt5 и QOpenGLWidget, затем создает экземпляр объекта shader, передавая себя и QOpenGLWidget. Затем он будет создавать экземпляры объектов формы из shaderProgram.py и передавать их в функцию addShape объекта шейдера. После того, как все манипуляции с фигурами будут выполнены, будет вызвана функция обновления объекта шейдера, и объект шейдера обновит сцену.

test.py
`-shaderProgram.py
  |-cube
  |-mesh
  `-shader
    `GLSL shaders

На этом этапе это приятно работает, но я хочу написать шейдер луча. за это. Я планирую использовать учебник , но модифицированный для использования различных функций расстояния со знаком (SDF). Моя причина в том, что я рисую свои формы, используя glBegin с GL_LINES и GL_QUADS, поэтому его SDF сферы и куба не будут работать для меня. Итак, как мне написать SDF, чтобы приблизить трехмерное расстояние от GL_LINE и GL_QUAD объектов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...