学习地址:http://www.raywenderlich.com/3664/opengl-tutorial-for-ios-opengl-es-2-0

中文翻译:http://www.cnblogs.com/zilongshanren/archive/2011/08/08/2131019.html

文章地址:http://www.tuicool.com/articles/VZVJra

关键词:vertex、fragment、shaders、buffer

Xcode中OpenGL ES框架详情:

OpenGLES入门笔记一

 OpenGL ES1.0被OpenGL ES2.0的‘片元着色器’取代。开发人员在使用OpenGL ES2.0API进行开发时候,可以通过编写顶点以及片元着色器程序,来完成一些顶点变换和纹理颜色计算工作,实现更加灵活、精细化的计算与渲染。

一、着色(Shader)语言(2.0)

  着色语言是一种类C的编程语言,但不支持double、byte、short、long(3.0有所不同),并且取消了union、enum、unsigned和位运算。

  着色器内建多种原生数据类型和构建数据类型:matrix、vec2、vec3(向量型)、float、bool、int等。按照数据类型分为标量、向量、矩阵、采样器、结构体和数组等。

  Shader支持下面数据类型:

  

float  bool  int    基本数据类型
vec2                包含了2个浮点数的向量
vec3                包含了3个浮点数的向量
vec4                包含了4个浮点数的向量
ivec2               包含了2个整数的向量
ivec3               包含了3个整数的向量
ivec4               包含了4个整数的向量
bvec2               包含了2个布尔数的向量
bvec3               包含了3个布尔数的向量
bvec4               包含了4个布尔数的向量
mat2                2*2维矩阵
mat3                3*3维矩阵
mat4                4*4维矩阵
sampler1D           1D纹理采样器
sampler2D           2D纹理采样器
sampler3D           3D纹理采样器

1.顶点着色器

  1.1顶点着色器实例代码

  
uniform mat4 uMVPMatrix;                             // 应用程序传入顶点着色器的总变换矩阵
attribute vec4 aPosition;                            // 应用程序传入顶点着色器的顶点位置
attribute vec2 aTextureCoord;                        // 应用程序传入顶点着色器的顶点纹理坐标
attribute vec4 aColor                                // 应用程序传入顶点着色器的顶点颜色变量
varying vec4 vColor                                  // 用于传递给片元着色器的顶点颜色数据
varying vec2 vTextureCoord;                          // 用于传递给片元着色器的顶点纹理数据
void main()
{
    gl_Position = uMVPMatrix * aPosition;            // 根据总变换矩阵计算此次绘制此顶点位置
    vColor = aColor;                                 // 将顶点颜色数据传入片元着色器
    vTextureCoord = aTextureCoord;                   // 将接收的纹理坐标传递给片元着色器
}
顶点着色器实例代码

相关文章:

  • 2021-09-24
  • 2022-01-12
  • 2022-03-03
  • 2022-01-12
  • 2021-09-30
  • 2021-10-31
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-09-12
  • 2021-11-28
  • 2021-09-09
  • 2021-04-16
  • 2022-01-19
相关资源
相似解决方案