1
0
mirror of https://github.com/LearnOpenGL-CN/LearnOpenGL-CN.git synced 2025-08-23 04:35:28 +08:00
Files
LearnOpenGL-CN/01 Getting started/04 Hello Triangle.md
2015-06-15 12:26:03 +08:00

2.0 KiB
Raw Blame History

本文作者JoeyDeVries由Geequlim翻译自http://learnopengl.com

##你好,三角形

未翻译完成...

由于OpenGL使用的是三维坐标系而我们的屏幕和窗口都是由二维像素组成的所以OpenGL的一项重要工作就是将三维坐标系转换到二维像素使得我们的屏幕能够显示显示这些数据。将三维坐标转换为二维坐标的过程使用OpenGL的图形渲染管线来管理。图形渲染管线可以被分为两大部分

  1. 将三维坐标系转换为二维的屏幕坐标
  2. 将转换得到的二维坐标中的每一个点转换为具体的像素颜色 在本教程中我们将简单的讨论OpenGL的渲染管线并使用它来创建一些给力的像素图。 二维坐标系与像素坐标系有一点不同,一个二维坐标描述的是在二维空间中一个确切点的位置,而一个二维像素是一个由二维坐标和屏幕的分辨率所决定的近似值. 图形渲染管线将一系列的三维坐标转化为你屏幕中的像素颜色。图形渲染管线可以被分为若干个部分每一个部分都需要上一部分的输出数据作为其输入数据。所有部分都是高效运行并且可以是同时进行的由于这一并行的机制现代的图形处理器GPU)拥有成千上万个核心通过快速地执行一些小程序来处理渲染管线中每一部分的数据。这些小程序被称为着色器Shader。 许多着色器都允许开发者进行配置OpenGL允许我们写自己的着色器来替换已经存在的默认着色器。由于着色器程序是使用GPU执行的这样我们就可以通过书写自己的着色器程序来对渲染进行更加细微的控制也能减轻CPU的运算量。OpenGL的着色器程序使用GLSL(OpenGL Shading Language)语言编写,我们将在接下来的教程中探索如何使用它。 下图是对渲染管线流程简介,其中蓝色的部分允许我们编写自己的着色器程序进行控制。 (img)