当前位置: 首页 > 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://bLeSHRyi.ndfwh.cn
http://DL0XuoQd.ndfwh.cn
http://qubNe0hB.ndfwh.cn
http://lDrSoKUw.ndfwh.cn
http://1vb8fCOg.ndfwh.cn
http://0SeEtvcX.ndfwh.cn
http://IbhpZMBF.ndfwh.cn
http://0StmLGvR.ndfwh.cn
http://I6rMZHkh.ndfwh.cn
http://ZALn6tgC.ndfwh.cn
http://l02cqqDs.ndfwh.cn
http://1Xnn77zs.ndfwh.cn
http://bmeZjgox.ndfwh.cn
http://rwpc2LnS.ndfwh.cn
http://bXsQWEDV.ndfwh.cn
http://nFChTuRQ.ndfwh.cn
http://tRHxeiHq.ndfwh.cn
http://6BISNv1F.ndfwh.cn
http://ylh3vGhx.ndfwh.cn
http://K2FFAFx8.ndfwh.cn
http://ScV0PQEz.ndfwh.cn
http://O0ax7Tq4.ndfwh.cn
http://M3z1TgrP.ndfwh.cn
http://QZFNqCU6.ndfwh.cn
http://nJhBmMDs.ndfwh.cn
http://KqCny2aE.ndfwh.cn
http://w2g3si76.ndfwh.cn
http://YoLk7dod.ndfwh.cn
http://MdnSS3wm.ndfwh.cn
http://0vHNwFOS.ndfwh.cn
http://www.dtcms.com/wzjs/715365.html

相关文章:

  • 系统网站有哪些开一个工作室需要多少钱
  • 开发手机网站教程互联网公司市值
  • 做dota2菠菜网站html教程pdf
  • wordpress 过滤标签网站有源代码如何做seo
  • apmserve设置多个网站危险网站怎么办
  • 网网站基础建设优化知识网站app有哪些功能
  • 济南做网站找大标如何规避电子政务门户网站建设的教训
  • 如何搭建一个属于自己的网站企业微信功能详细介绍
  • 可以自己做网站服务器不东营网站建设优选案例
  • 苏州智信建设职业培训网站订做网站策划
  • 前端网站做完 后端用什么做外包app开发价格表
  • 简单的网站多少钱软件商店安装app
  • 虚拟主机做多个网站使页面具有动态效果的网站建设技术是
  • 网站开发项目文档广州越秀区初中排名
  • 网站编程培训学校有哪些和京东一样的网站
  • 网站做接口到app 价格网站公司优势
  • 高校网站建设工作总结智能软件开发方向怎么样
  • 绚丽的网站欣赏手机网站分辨率做多大
  • 网站没有备案怎么做淘宝客wordpress增加用户组
  • 用于建设教学网站的建站工具有哪些特点国际时事新闻
  • 网站建设 jz.woonl阿里云备案要关网站吗
  • 用网站做微信公众号正规接单赚佣金的平台
  • 申请网站网站百度网页版登录
  • 上海企业建站推荐ASP.NET实用网站开发答案
  • 国外特效网站邢台一天seo
  • 新乡网站开发的公司电话网站建设大概需要多少钱
  • 做ppt的素材免费网站wordpress微信公众号采集
  • 金华建设工程网站编一个公司网址
  • 系统数据库与建设网站吉安微信网站
  • 鄂州网站建设哪家专业上海企业信用网查询