【问题标题】:OpenGL draw every n vertexOpenGL绘制每n个顶点
【发布时间】:2015-07-13 13:56:08
【问题描述】:

我正在编写一个包含大型数据集线图的应用程序。

我目前的策略是将每个通道的数据加载到 1D 顶点缓冲区中。

然后我在绘图时使用顶点着色器将我的缓冲区组装成顶点(这样我就可以将我的一个缓冲区重用于多组数据)

这工作得很好,我可以绘制几亿个数据点,而不会太慢。

为了进一步扩展,我想减少实际绘制的点数,尽管简单减少(即每 n 个点绘制一次),因为绘制 1000 个点的点并不多,它们都由单个像素表示)

我能想到的一种方法是使用几何着色器并且只发射每 N 个点,但我不确定这是否是最好的攻击计划。

这是推荐的方法吗?

【问题讨论】:

    标签: c# opengl sharpgl


    【解决方案1】:

    您可以通过将所有顶点属性的步幅调整为正常步幅的 N 倍来实现这一点。

    【讨论】:

    • 我可以通过在绑定到 vbo 进行绘图后再次调用 glVertexAttribPointer 来做到这一点。我尝试将步幅增加 1000 倍,但 FPS 没有明显增加。
    • @Hugoagogo 那么你的瓶颈不是你绘制的点数,(对于现代硬件来说,1 亿并不是那么多)
    • 我知道这是一个全新的问题,但是关于从哪里开始和开始的任何想法。我还认为 2gb 的顶点数据越来越大。
    • 同样在我接受之前,我找不到任何关于最大步幅的信息,你知道吗。
    猜你喜欢
    • 1970-01-01
    • 2021-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多