渲染器效率

Mat*_*att 2 c++ opengl sdl

好的,我有一个渲染器类,它具有程序其余部分调用的各种特殊功能:

  • DrawBoxFilled
  • DrawText的
  • 的DrawLine
  • 大约30多个......

这些函数中的每一个都可以分别调用glBegin/glEnd,我知道这些函数效率非常低(甚至已经弃用了).所以无论如何,我计划完全重写渲染器,我需要知道设置函数的最有效方法,这样当有东西调用它时,它会立即绘制它,或者它需要做的任何其他事情,所以它会运行有效.提前致谢 :)

jal*_*alf 6

渲染的有效方法通常是使用VBO(顶点缓冲区对象)来存储顶点数据,但这只是在渲染(主要是)静态数据时才有意义.

如果不了解应用程序应该呈现的内容,就很难说你应该如何构建它.但理想情况下,您不应该绘制单个基元,而是绘制顶点缓冲区的内容(子集).