博客
关于我
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基于SSL的主从复制
查看>>
Mysql基本操作
查看>>
mysql基本操作
查看>>
mysql基本知识点梳理和查询优化
查看>>
mysql基础
查看>>
Mysql基础 —— 数据基础操作
查看>>
mysql基础---mysql查询机制
查看>>
MySQL基础5
查看>>
MySQL基础day07_mysql集群实例-MySQL 5.6
查看>>
Mysql基础命令 —— 数据库、数据表操作
查看>>
Mysql基础命令 —— 系统操作命令
查看>>
MySQL基础学习总结
查看>>
mysql基础教程三 —常见函数
查看>>
mysql基础教程二
查看>>
mysql基础教程四 --连接查询
查看>>
MySQL基础知识:创建MySQL数据库和表
查看>>
MySQL基础系列—SQL分类之一
查看>>
MySQL处理千万级数据分页查询的优化方案
查看>>
mysql备份
查看>>
mysql备份与恢复
查看>>