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

你可能感兴趣的文章
Nexus指南中的更新强调集成和透明度的重要性
查看>>
Nexus指南已经发布
查看>>
Nexus(1):Nexus的安装与配置
查看>>
NFC技术:概述
查看>>
NFinal学习笔记 02—NFinalBuild
查看>>
NFS
查看>>
nfs mount 故障 mount.nfs: access denied by server while mounting 10.0.100.208:/backup_usb
查看>>
NFS Server及Client配置与挂载详解
查看>>
NFS 服务配置篇
查看>>
NFS共享文件系统搭建
查看>>
nfs复习
查看>>
NFS安装配置
查看>>
NFS服务器配置-服务启动与停止
查看>>
NFS的安装以及windows/linux挂载linux网络文件系统NFS
查看>>
NFS的常用挂载参数
查看>>
NFS网络文件系统
查看>>
NFS远程目录挂载
查看>>
nft文件传输_利用remoting实现文件传输-.NET教程,远程及网络应用
查看>>
NFV商用可行新华三vBRAS方案实践验证
查看>>
ng build --aot --prod生成文件报错
查看>>