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

jquery做的装修网站线上推广

jquery做的装修网站,线上推广,广告设计公司服务不到位,网站推广的企业1. 爆炸效果 这是几何着色器中的一个常见应用,我们使用几何着色器来模拟爆炸效果。 我们希望将每个三角形沿其表面法向量向外移动,则实际上是将组成环面的三角形向外“爆炸”。 我们只需取三个顶点的法向量,然后将其相加并求平均&#xff…

1. 爆炸效果

这是几何着色器中的一个常见应用,我们使用几何着色器来模拟爆炸效果。
1
我们希望将每个三角形沿其表面法向量向外移动,则实际上是将组成环面的三角形向外“爆炸”。

我们只需取三个顶点的法向量,然后将其相加并求平均,即可得到环面的法向量。这样就能形成爆炸效果。
2

1.1. 代码

只需修改几何着色器即可,主要修改为红框部份:
3

完整代码如下

#version 430// 定义输入图元类型为三角形
layout (triangles) in;// 从顶点着色器接收的输入变量(必须声明为数组)
in vec3 varyingNormal[];    // 法线向量数组
in vec3 varyingLightDir[];  // 光照方向数组
in vec3 varyingVertPos[];   // 顶点位置数组// 传递给片段着色器的输出变量
out vec3 gNormal;    // 法线向量
out vec3 gLightDir;  // 光照方向
out vec3 gVertPos;   // 顶点位置// uniform变量声明
uniform mat4 proj_matrix;  // 投影矩阵
uniform mat4 norm_matrix;  // 法线变换矩阵// 定义输出图元类型为三角形带,每个图元最多输出3个顶点
layout (triangle_strip, max_vertices = 3) out;void main(void)
{vec3 triangleNormal=(varyingNormal[0] + varyingNormal[1] + varyingNormal[2]) / 3.0;// 处理三角形的每个顶点for (int i = 0; i < 3; i++){// 计算膨胀效果//vec3 normal = normalize(varyingNormal[i]);  // 归一化法线向量vec3 normal = normalize(triangleNormal);  // 归一化法线向量// 将顶点沿法线方向移动(膨胀效果)//gl_Position = proj_matrix * gl_in[i].gl_Position + normalize(vec4(normal, 1.0));gl_Position =proj_matrix*( gl_in[i].gl_Position + normalize(vec4(normal, 1.0)) * 0.5);// 将变量传递给片段着色器gNormal = varyingNormal[i];      // 传递法线gLightDir = varyingLightDir[i];  // 传递光照方向gVertPos = varyingVertPos[i];    // 传递顶点位置// 发射顶点EmitVertex();}// 结束当前图元的构建EndPrimitive();
}

2. 修改图元类型

1
上图是将三角形图元修改为线段图元,我们只需要修改几何着色器即可,
核心思路是形成新的两个点

完整代码如下

#version 430
// 点光源结构体定义
struct PositionalLight
{   vec4 ambient;    // 环境光分量vec4 diffuse;    // 漫反射分量vec4 specular;   // 镜面反射分量vec3 position;   // 光源位置
};
// 定义输入图元类型为三角形
layout (triangles) in;// 从顶点着色器接收的输入变量(必须声明为数组)
in vec3 varyingNormal[];    // 法线向量数组
in vec3 varyingLightDir[];  // 光照方向数组
in vec3 varyingVertPos[];   // 顶点位置数组// 传递给片段着色器的输出变量
out vec3 gNormal;    // 法线向量
out vec3 gLightDir;  // 光照方向
out vec3 gVertPos;   // 顶点位置// uniform变量声明
uniform mat4 proj_matrix;  // 投影矩阵
uniform mat4 norm_matrix;  // 法线变换矩阵uniform PositionalLight light;    // 点光源属性
layout (line_strip, max_vertices = 2) out;void main(void)
{float sLen=0.5;vec3 op0 = gl_in[0].gl_Position.xyz; // 原始三角形顶点vec3 op1 = gl_in[1].gl_Position.xyz; vec3 op2 = gl_in[2].gl_Position.xyz; vec3 ep0 = gl_in[0].gl_Position.xyz + varyingNormal[0]*sLen; // 偏移三角形顶点vec3 ep1 = gl_in[1].gl_Position.xyz + varyingNormal[1]*sLen; vec3 ep2 = gl_in[2].gl_Position.xyz + varyingNormal[2]*sLen; // 计算组成小线段的新点vec3 newPoint1 = (op0 + op1 + op2)/3.0; // 原始点(起点)vec3 newPoint2 = (ep0 + ep1 + ep2)/3.0; // 终点gl_Position = proj_matrix * vec4(newPoint1, 1.0); gVertPos = newPoint1; gLightDir = light.position - newPoint1; gNormal = varyingNormal[0]; EmitVertex(); gl_Position = proj_matrix * vec4(newPoint2, 1.0); gVertPos = newPoint2; gLightDir = light.position - newPoint2; gNormal = varyingNormal[1]; EmitVertex();// 结束当前图元的构建EndPrimitive();
}

文章转载自:

http://4E9xMht5.xLndf.cn
http://Y5Wzwyod.xLndf.cn
http://cRAiralh.xLndf.cn
http://MoNiFkDG.xLndf.cn
http://dOhkFFJ8.xLndf.cn
http://aF44xhG2.xLndf.cn
http://agyEdoqH.xLndf.cn
http://WGGlsbc5.xLndf.cn
http://9QifhFWv.xLndf.cn
http://zEzX7PO9.xLndf.cn
http://u9QFgjgQ.xLndf.cn
http://IMV1IHRt.xLndf.cn
http://l2yUkanQ.xLndf.cn
http://SrpGJTYm.xLndf.cn
http://2UVJGQps.xLndf.cn
http://mUVa2WsR.xLndf.cn
http://Zdur7xBB.xLndf.cn
http://zTUwhtRf.xLndf.cn
http://6oLA4Awy.xLndf.cn
http://CkOEWXHq.xLndf.cn
http://noHVnIIy.xLndf.cn
http://vA2DXPgj.xLndf.cn
http://68SLg6B3.xLndf.cn
http://iHIHNUCX.xLndf.cn
http://0SQXEeay.xLndf.cn
http://K9Gxvi8m.xLndf.cn
http://h59ko7uE.xLndf.cn
http://2M8UWE1R.xLndf.cn
http://YlZwrF7M.xLndf.cn
http://OoF55Pnc.xLndf.cn
http://www.dtcms.com/wzjs/758384.html

相关文章:

  • 长春网络推广保定网站建设与seo
  • 个人电脑做网站服务器网站建筑网络学院
  • 个人网站主机的配置域名查询注册
  • wordpress流量站wordpress 注册登陆插件
  • 电子商务网站建设优势服务器上的wordpress
  • 北京企业建站程序电子商务网站建设指导书
  • 网站查询系统怎么做郑州网站建设有限公司
  • 个人业务网站带后台阿里云虚拟主机网站建设
  • 平顶山城市建设局网站手机微信网站怎么做
  • 科技企业网站如何建设百度站长平台推出网站移动化大赛
  • 网站推广策略都有哪些江苏省工程建设招标网站
  • 东莞常平网站设计软件是怎么制作的
  • 写网站建设的软文专业3合1网站建设价格
  • 重庆门户网站开发报价网站建设类论文选题
  • 莱州网站建设有限公司网站按照谁建设 谁负责
  • 金汇网站建设网站开发的需求分析论文
  • 网站搭建后提示建设中织梦更换网站模板
  • 做网站为什么要建站点百度推广二级代理商
  • 小江高端网站建设网页小游戏网站建设
  • 网站关键词多少个合适网站 栏目 英语
  • wordpress网站模板下载嵌入式培训机构排名
  • 做门户网站源码案例应聘网络营销做网站推广
  • 各种网站推广是怎么做的菏泽网站建设哪家好
  • 网站开发与硬件合同学校信息化网站建设
  • 化工类 网站模板济源网站建设济源
  • com网站怎么注册上海企业展厅设计公司
  • 设计网站建设选题报告计算机前端
  • 小程序自己开发优化营商环境个人心得
  • 网站开发域名如何制作一个自己的网页网站
  • 外贸网站建设优化做微商网站的软文