Qt OpenGL中渲染和画图的相互理解

在Qt编程(或者别的图形编程中),我们很容易理解画图,一般用draw之类的函数,画圆,画线,画点,画复杂图形,画图片等2D图形。

在某种程度上,渲染和画图可以理解为相似的概念,都是将图形或图像呈现在屏幕上的过程。所以我们也可以说3D渲染其实就是3D画图。但是呢,这样表达,不够精细,没法突出3D画图的特点。因为我们不仅仅只是画个球体,正方体,加载一个3D模型(对应2D图片),3D里面更重要的是特效,也就是材质,纹理,光照,立体空间的效果。

画图通常指的是在屏幕上绘制2D图形或绘制像素点的过程。

画图通常是静态的,一次性地将图形绘制在屏幕上,不涉及到光照、材质、深度等复杂的计算。

画图常用于绘制简单的图形、图标、文字等。

而渲染则更广泛地指的是将3D模型、纹理、光照等元素结合起来,以图形的形式呈现在屏幕上的过程。渲染不仅包括了绘制图像的过程,还涉及到光照模型、材质属性、深度测试、投影变换等复杂的计算。渲染可以实现更加逼真和生动的效果,包括阴影、反射、抗锯齿等。

因此,画图更偏向于绘制简单的2D图形,而渲染更偏向于将复杂的3D场景绘制在屏幕上,并包含了更多的计算和效果。虽然两者有一定的重叠,但在计算机图形学的上下文中,它们有着不同的含义和应用范围。

譬如:下面代码渲染了一个场景:一个黑色背景并且在窗口中绘制了一个彩色的三角形。

#include
#include

class GLWidget : public QOpenGLWidget

你可能感兴趣的:(opengl新手到高手,Qt编程之路,qt,开发语言,c++,C++项目,opengl编程,3D编程,3D渲染)