关于OpenGL 术语的一些基本概念

什么是Shaders?
简单的说,shader就是一段GLSL小程序,它运行在GPU上而不是CPU上。
它使用opengl shading language语言编写。

C++与shader比较图:

Vertex Shaders [顶点着色器]
vertex shader主要用来将点(x,y,z坐标)变换成不同的点。


Fragment Shaders[片段着色器]
fragment shader主要功能是计算每一个需要绘制的像素点的颜色。


什么是VBO和VAO?
VBO和VAO用来将C++程序的数据传给shaders来渲染。


Vertex Buffer Objects(VBOs)
VBO其实就是显存的"缓冲区buffers" 一串包含各种二进制数据的字节区域。
VBO不关心这些数据是啥,因为它只是对内存进行复制。

Vertex Array Objects(VAOs)
VAO对VBO和shader变量进行连接。它描述了VBO所包含的数据类型,还有该传递
数据给哪个shader变量。


着色器变量Uniform与Attribute
着色器变量有两种类型:uniform和attribute。
attribute变量可以在每个顶点上有不同值。
uniform变量在多个顶点上保持相同值。
【注意:uniforms能被任意着色器访问,但是attributes必须先进入顶点着色器,而非
   片段着色器。顶点着色器在需要时会将该值传给片段着色器。】


贴图
就是你应用在3D物体上的2D图像。
贴图的高和宽需要是2的幂次方。 
贴图坐标不是以像素为单位。它们范围是从0到1。(0,0)是左下角,(1,1)是右上角。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值