gpt4 book ai didi

opengl如何画动态线?

转载 作者:行者123 更新时间:2023-12-01 22:23:55 25 4
gpt4 key购买 nike

我想在 OpenGL 中画一条线,它经常会收到新点。

我想实现一个在其自身后面画一条线的对象:

enter image description here

那么我是否必须创建一个数组并将所有新点附加到其中(BufferData 设置为 GL_DYNAMIC_DRAW)。然后使用glDrawArrays重新绘制线条。曲面分割+笔划宽度将位于vertexshader内部?

或者有更好的方法吗?

最佳答案

这个想法是在给定的延迟后绘制当前位置的一个点。时间延迟定义了实际线路的平滑程度。然后,您必须根据绘制的定位点计算 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)。

我的结果:

Sketch

结果(用 wasd 控制):

With Wireframe on

bigger time delay

small delay

关于opengl如何画动态线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33571448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com