Добрый вечер :)
Хорошо после небольшого перерыва. Я финналы пришел к решению и хочу поделиться им: Идея состоит в том, чтобы построить точку текущей позиции после заданной задержки. Задержка времени определяет, насколько гладкой будет фактическая линия. Затем вам нужно будет вычислить 2 новых точки на основе построенной точки, которую оба умножают на заданную ширину.
О, и для этих участков вам также необходимо получить направление движения вашего объекта, чтобы вычислить правильные нормали.
На стороне OPENGL вы должны инициализировать сайз буфер фиксированной вершины
gl.glBufferData(gl.GL_ARRAY_BUFFER, 8 * self.maxPoints, None, gl.GL_DYNAMIC_DRAW)
# 8 bytes 2 points = 1 plot
# maxPoints amount of max plots
объект, где вы будете загружать каждый кадр эти 2 точки (gl.glBufferSubData). Довольно легко ? не? позвольте мне сделать мой результат:
Результат (Контролируя с WASD):