博客
关于我
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/

你可能感兴趣的文章
mysql事务理解
查看>>
MySQL事务详解结合MVCC机制的理解
查看>>
MySQL事务隔离级别:读未提交、读已提交、可重复读和串行
查看>>
MySQL事务隔离级别:读未提交、读已提交、可重复读和串行
查看>>
webpack css文件处理
查看>>
mysql二进制包安装和遇到的问题
查看>>
MySql二进制日志的应用及恢復
查看>>
mysql互换表中两列数据方法
查看>>
mysql五补充部分:SQL逻辑查询语句执行顺序
查看>>
mysql交互式连接&非交互式连接
查看>>
MySQL什么情况下会导致索引失效
查看>>
Mysql什么时候建索引
查看>>
MySql从入门到精通
查看>>
MYSQL从入门到精通(一)
查看>>
MYSQL从入门到精通(二)
查看>>
mysql以下日期函数正确的_mysql 日期函数
查看>>
mysql以服务方式运行
查看>>