OpenGL ES:基本形状的绘制(三角形、正方形、正方体)

三角形的绘制

  1. 编写顶点着色器和片段着色器代码

    输入和输出:基于OpenGL的渲染流程,从而每个着色器都有输入和输出,这样才能进行数据交流和传递。GLSL定义了in和out关键字专门来达成这个目的。只要一个输出变量与下一个着色器阶段的输入匹配,它就会传递下去。

    Uniform关键字:Uniform是一种从CPU中的应用向GPU中的着色器发送数据的方式,但uniform和顶点属性有些不同。

    1. uniform是全局的(Global)
    2. 无论你把uniform值设置成什么,uniform会一直保存它们的数据,直到它们被重置或更新
//顶点着色器

//声明OpenGL es版本
#version 300 es
//in 代表输入属性
//顶点坐标属性
layout(location = 0) in vec3 aPos;
//颜色属性
layout(location = 1) in vec3 aColor;
//out 代表传递给片段着色器的属性
out vec3 color;

void main(){
	//gl_Position是内置的属性
    gl_Position= vec4(aPos.x,aPos.y,aPos.z,1.0f);
    color= aColor;
}

//片段着色器

#version 300 es
//定义浮点精度
precision mediump float;
//颜色采样输出
out vec4 fragColor;
//链接顶点着色器的同名输出
in vec3 color;

void main(){
    fragColor=vec4(color,1.0f);
}
  1. 编写渲染类,实现GLSurfaceVi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值