博客
关于我
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-架构篇
查看>>
MySQL-索引的分类(聚簇索引、二级索引、联合索引)
查看>>
Mysql-触发器及创建触发器失败原因
查看>>
MySQL-连接
查看>>
mysql-递归查询(二)
查看>>
MySQL5.1安装
查看>>
mysql5.5和5.6版本间的坑
查看>>
mysql5.5最简安装教程
查看>>
mysql5.6 TIME,DATETIME,TIMESTAMP
查看>>
mysql5.6.21重置数据库的root密码
查看>>
Mysql5.6主从复制-基于binlog
查看>>
MySQL5.6忘记root密码(win平台)
查看>>
MySQL5.6的Linux安装shell脚本之二进制安装(一)
查看>>
MySQL5.6的zip包安装教程
查看>>
mysql5.7 for windows_MySQL 5.7 for Windows 解压缩版配置安装
查看>>
Webpack 基本环境搭建
查看>>
mysql5.7 安装版 表不能输入汉字解决方案
查看>>
MySQL5.7.18主从复制搭建(一主一从)
查看>>
MySQL5.7.19-win64安装启动
查看>>