Advertisement

ShaderMaterial 实现大气层和 glow效果

阅读量:

生成两个球体,其中一个小一些,另一个稍大,用作辉光效果;作为辉光的球体,其从内到外的片元透明度应逐步降低,可采用线性或指数方式实现;同时将遮挡原始物体的部分予以剔除。

辉光效果

复制代码
    var vertexShader = [
    'varying vec3	vVertexWorldPosition;',
    'varying vec3	vVertexNormal;',
    'varying vec4	vFragColor;',
    'void main(){',
    '	vVertexNormal	= normalize(normalMatrix * normal);',//将法线转换到视图坐标系中
    '	vVertexWorldPosition	= (modelMatrix * vec4(position, 1.0)).xyz;',//将顶点转换到世界坐标系中
    '	// set gl_Position',
    '	gl_Position	= projectionMatrix * modelViewMatrix * vec4(position, 1.0);',
    '}']
    
       var  fragmentShader: [
        'uniform vec3	glowColor;',

全部评论 (0)

还没有任何评论哟~