当前位置: 首页 > news >正文

东莞大型网站建设公司企业如何做网络推广

东莞大型网站建设公司,企业如何做网络推广,可以做产品推广的网站,军事新闻视频1. 说明: 在使用OPenGL进行三维模型渲染时,需要使用到两个着色器对模型进行位置设置和颜色设置,分别为顶点着色器和片段着色器,这两个着色器是使用 GLSL 语法进行编写的。这篇文章总结了一些GLSL中的一些基本语法知识。 2. 基本…

1. 说明:

在使用OPenGL进行三维模型渲染时,需要使用到两个着色器对模型进行位置设置和颜色设置,分别为顶点着色器和片段着色器,这两个着色器是使用 GLSL 语法进行编写的。这篇文章总结了一些GLSL中的一些基本语法知识。

2. 基本知识点:

2.1 主函数:

在每一个 shader 文件中,必须有一个main函数,也是入口函数,类似于C语言。

void main()	//也可写成 void main(void)
{...
}

2.2 基本类型:

void,bool,int,float,
bvec2,bvec3,bvec4,// bvec(n)包含n个布尔成分的向量
ivec2,ivec3,ivec4,// ivec(n)包含n个整型成分的向量
mat2(mat2x2),mat3(mat3x3),
mat4x4,mat2x3,mat2x4,mat3x2,
mat3x4,mat4x2,mat4x3, // mat(axb)a行b列的浮点矩阵
sampler1D,sampler2D,sampler3D, // n维纹理采样器
samplerCube //cube map纹理句柄
sampler1DShadow //一维深度纹理句柄
sampler2DShadow // 二维深度纹理句柄

2.3 修饰符:

in			//用在函数的参数中,表示这个参数是输入的
out			//用在函数参数中,表示这个参数是输出的
uniform		//一致变量,在编译时期由着色器在外部初始化,在顶点和片段着色器之间是共享的(一般我们使用uniform变量来放置外部程序传递来的环境数据(如点光源位置,模型的变换矩阵等等))const	//常量值必须在声明时初始化
attribute	//只读的顶点数据,用于顶点着色器中(一般attribute变量用来放置程序传递来的模型顶点,法线,颜色,纹理等数据)
varying		//顶点着色器的输出类型,也是片段着色器的输入数据(主要负责在vertex 和 fragment 之间传递变量)
inout		//用在函数参数中,表示这个参数既是输入又是输出

2.4 内置变量:

内置变量是不需要提前声明的,可以在函数内部直接使用,是GLSL内部规定好的变量

2.4.1 顶点着色器内置变量
gl_Position  vec4  //输出属性-顶点坐标,所有的顶点着色器都要写这个值
gl_TexCoord[]	vec4	//纹理坐标的数组varying输出gl_Color     vec4  //输入属性--顶点的主颜色
gl_SecondaryColor  vec4  //输入属性--顶点的辅助颜色
gl_Normal    vec3  //输入属性--顶点的法线值
gl_Vertex	 vec4  //输入属性--物体空间的顶点位置
gl_MultiTexCoordn  vec4  //输入属性--顶点的第n个纹理坐标
gl_FogCoord  float  //输入属性--顶点的雾坐标
gl_ClipVertex	vec4	//输出坐标,用于用户裁剪平面的裁剪
gl_PointSize	float	//点的大小
gl_FrontColor	vec4	//正面的主颜色的varying输出
gl_BackColor	vec4	//背面主颜色的varying输出
gl_FrontSecondaryColor	vec4	//正面的辅助颜色的varying输出
gl_BackSecondaryColor	vec4	//背面的辅助颜色的varying输出
gl_FogFragCoord	float	//雾坐标的varying输出
2.4.2 片段着色器内置变量
gl_FragColor	vec4	//输出的颜色用于随后的像素操作
gl_TexCoord[]	vec4	//包含纹理坐标数组的插值--只读输入gl_Color	vec4	//包含主颜色的插值--只读输入
gl_SecondaryColor	vec4	//包含辅助颜色的插值--只读输入
gl_FogFragCoord	float	//包含雾坐标的插值--只读输入
gl_FragCoord	vec4	//只读输入--窗口的x,y,z和1/w
gl_FrontFacing	bool	//只读输入--如果是窗口正面图元的一部分,则这个值为true
gl_PointCoord	vec2	//点精灵的二维空间坐标范围在(0.0, 0.0)到(1.0, 1.0)之间,仅用于点图元和点精灵开启的情况下。
gl_FragData[]	vec4	//使用glDrawBuffers输出的数据数组。不能与gl_FragColor结合使用。
gl_FragDepth	float	//输出的深度用于随后的像素操作,如果这个值没有被写,则使用固定功能管线的深度值代替

2.5 语句控制:

循环控制语句包含:for循环,while循环,do/while循环,continue / break。
条件控制:if / else 结构
discard 语句:
片段着色器中有一种特殊的控制流成为discard。使用discard会退出片段着色器,不执行后面的片段着色操作。片段也不会写入帧缓冲区。

if (color.a < 0.9)
discard;	//后面的代码不会再执行

2.6 函数解释:

2.6.1 纹理查询函数:

纹理查询的最终目的是从sampler中提取指定坐标的颜色信息

//以下函数只在vertex shader中可用:
vec4 texture2DLod(sampler2D sampler, vec2 coord, float lod);
vec4 texture2DProjLod(sampler2D sampler, vec3 coord, float lod);
vec4 texture2DProjLod(sampler2D sampler, vec4 coord, float lod);
vec4 textureCubeLod(samplerCube sampler, vec3 coord, float lod);
//以下函数只在fragment shader中可用:
vec4 texture2D(sampler2D sampler, vec2 coord, float bias);
vec4 texture2DProj(sampler2D sampler, vec3 coord, float bias);
vec4 texture2DProj(sampler2D sampler, vec4 coord, float bias);
vec4 textureCube(samplerCube sampler, vec3 coord, float bias);
//在 vertex shader 与 fragment shader 中都可用:
vec4 texture2D(sampler2D sampler, vec2 coord);
vec4 texture2DProj(sampler2D sampler, vec3 coord);
vec4 texture2DProj(sampler2D sampler, vec4 coord);
vec4 textureCube(samplerCube sampler, vec3 coord);// 解释:texture2D(sampler2D sampler,vec2 coord)使用纹理坐标coord在当前绑定到采样器sampler的2D纹理中进行纹理查找

2.7 数据精度:

在变量前面加上 highp mediump lowp 即可完成对该变量的精度声明

lowp float color;
varying mediump vec2 Coord;
lowp ivec2 foo(lowp mat3);
highp mat4 m;

参考:GLSL中文手册
参考:GLSL语法基础

持续更新中,请大家多多关注…

http://www.zhongyajixie.com/news/33276.html

相关文章:

  • 电子商务网站前台建设常用的技术长沙seo优化排名
  • 农业电商网站建设方案广告推广软文案例
  • 广州淘宝网站建设seo教程网
  • 国外设计网站behance打不开seo的关键词无需
  • 百度seo快速排名长春网络优化最好的公司
  • 长沙点梦网站建设近期重大新闻
  • 建立视频网站要多少钱企业关键词优化价格
  • 百度推广效果不好怎么办seo职位具体做什么
  • 什么网站可以做长图南宁百度快速排名优化
  • laravel 做中英文网站广东省自然资源厅
  • 销售客户管理软件哪个好冯宗耀seo教程
  • 丹东做网站的公司百度官网认证免费
  • 做电影网站挣钱吗市场监督管理局是干什么的
  • 网站的关键词怎么设置新品推广活动方案
  • jsp网站建设模板百度推广运营这个工作好做吗
  • vue做移动端网站与pc端有什么区别香水推广软文
  • 找别人做网站一般注意什么百度一下了你就知道官网
  • 美橙互联网站模板游戏app拉新平台
  • 做只在自己电脑上的网站网站推广模式
  • 网站设计人员就业要求百度区域代理
  • 汕头网站制作公司推广软文
  • 企业为什么做平台网站免费推广网址
  • 做网站赚多少群发软件
  • 天津外贸公司网站制作优化师培训机构
  • 老板让做公司网站设计创建网站需要多少资金
  • 海口网站建设 找小黄网络苹果cms播放器
  • 公司建设一个网站首页seo二级目录
  • phpcms 怎么做视频网站广州aso优化公司 有限公司
  • 做网站付费流程怎么推广一个网站
  • 哪些网站可以做网站柳州网站建设