博客
关于我
Github首页地球学习(2)-光源
阅读量:212 次
发布时间:2019-02-28

本文共 1375 字,大约阅读时间需要 4 分钟。

Github首页地球学习(2)-光源

接上一篇:

最终效果:

在这里插入图片描述

代码:

export default function getGlowLight() {     const cl = 25;  const mat = new THREE.ShaderMaterial({       uniforms: {         c: {           type: "f",        value: 0.7,      },      p: {           type: "f",        value: 15,      },      glowColor: {           type: "c",        value: new THREE.Color(0x1c2462),      },      viewVector: {           type: "v3",        value: new THREE.Vector3(0, 0, 220),      },    },    vertexShader: `      #define GLSLIFY 1      uniform vec3 viewVector;      uniform float c;      uniform float p;      varying float intensity;      void main()      {          vec3 vNormal = normalize( normalMatrix * normal );          vec3 vNormel = normalize( normalMatrix * viewVector );          intensity = pow( c - dot(vNormal, vNormel), p );          gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );      }`,    fragmentShader: `      #define GLSLIFY 1      uniform vec3 glowColor;      varying float intensity;      void main()      {          vec3 glow = glowColor * intensity;          gl_FragColor = vec4( glow, 1.0 );      }`,    side: 1,    blending: 2,    transparent: !0,  });  const s = new THREE.Mesh(new THREE.SphereBufferGeometry(cl, 45, 45), mat);  s.name = "GlowLight";  s.scale.multiplyScalar(1.15);  s.rotateX(0.03 * Math.PI);  s.rotateY(0.03 * Math.PI);  return s;}

转载地址:http://nnui.baihongyu.com/

你可能感兴趣的文章
Node-RED中使用json节点解析JSON数据
查看>>
Node-RED中使用node-random节点来实现随机数在折线图中显示
查看>>
Node-RED中使用node-red-browser-utils节点实现选择Windows操作系统中的文件并实现图片预览
查看>>
Node-RED中使用node-red-contrib-image-output节点实现图片预览
查看>>
Node-RED中使用node-red-node-ui-iframe节点实现内嵌iframe访问其他网站的效果
查看>>
Node-RED中使用Notification元件显示警告讯息框(温度过高提示)
查看>>
Node-RED中使用range范围节点实现从一个范围对应至另一个范围
查看>>
Node-RED中实现HTML表单提交和获取提交的内容
查看>>
Node-RED中将CSV数据写入txt文件并从文件中读取解析数据
查看>>
Node-RED中建立TCP服务端和客户端
查看>>
Node-RED中建立Websocket客户端连接
查看>>
Node-RED中建立静态网页和动态网页内容
查看>>
Node-RED中解析高德地图天气api的json数据显示天气仪表盘
查看>>
Node-RED中连接Mysql数据库并实现增删改查的操作
查看>>
Node-RED中通过node-red-ui-webcam节点实现访问摄像头并截取照片预览
查看>>
Node-RED中配置周期性执行、指定时间阶段执行、指定时间执行事件
查看>>
Node-RED安装图形化节点dashboard实现订阅mqtt主题并在仪表盘中显示温度
查看>>
Node-RED怎样导出导入流程为json文件
查看>>
Node-RED订阅MQTT主题并调试数据
查看>>
Node-RED通过npm安装的方式对应卸载
查看>>