OpenGl ES 3.0基础(kotlin)

OpenGL ES 3.0 基础

  • OpenGL ES 对于Android来说是渲染在GLSurfaceView上

  • 顶点的坐标范围是-1~1,中心点在视窗的中心,向右,向上,向屏幕外分别为x,y,z轴的正向,符合右手直角坐标系

  • 顶点颜色rgba, 范围是0~1

  • 右手坐标系(Right-handed System)

按照惯例,OpenGL是一个右手坐标系。简单来说,就是正x轴在你的右手边,正y轴朝上,而正z轴是朝向后方的。想象你的屏幕处于三个轴的中心,则正z轴穿过你的屏幕朝向你。坐标系画起来如下:

image

为了理解为什么被称为右手坐标系,按如下的步骤做:

  • 沿着正y轴方向伸出你的右臂,手指着上方。
  • 大拇指指向右方。
  • 食指指向上方。
  • 中指向下弯曲90度。

如果你的动作正确,那么你的大拇指指向正x轴方向,食指指向正y轴方向,中指指向正z轴方向。如果你用左臂来做这些动作,你会发现z轴的方向是相反的。这个叫做左手坐标系,它被DirectX广泛地使用。注意在标准化设备坐标系中OpenGL实际上使用的是左手坐标系(投影矩阵交换了左右手)。

  • GLES30.glViewport(x, y, width, height); 设置视窗,


    1551344682326.jpg
  • 视景体内的物体会被投影到近平面上

  • 背面剪裁:三角形中3个顶点的卷绕 顺序是逆时针则摄像机观察其正面,反之摄像机观察其反面

  • 片元着色器中使用浮点相关类型的变量时与顶点着色器中有所不同,在顶点着色器中直接声 明使用即可,而在片元着色器中必须指定精度

你可能感兴趣的:(OpenGl ES 3.0基础(kotlin))