2021SC@SDUSC 【软件工程应用与实践】Claygl项目代码分析(五)

2021SC@SDUSC

目录

ParticleRenderable.js

3.函数

4、另一对象

4.1 属性


(接上篇)

ParticleRenderable.js

3.函数

function(){

    this.geometry = new Geometry({
        dynamic: true
    });

    if (!this.material) {
        this.material = new Material({
            shader: particleShader,
            transparent: true,
            depthMask: false
        });

        this.material.enableTexture('sprite');
    }

    this._particles = [];
    this._fields = [];
    this._emitters = [];
},

this.geometry = new Geometry({
        dynamic: true
    });

可以看见,该部分首先将其几何动态属性设为true;

if (!this.material) {
        this.material = new Material({
            shader: particleShader,
            transparent: true,
            depthMask: false
        });

        this.material.enableTexture('sprite');
    }

然后,判断目前材质是否存在,若是不存在,则新建材质,

其中渲染器模式为粒子渲染器(particleShader);

透明属性为true,此处应该是因为粒子是利用纹理贴图,故物体本身可设置透明;

最后设置不启用深度遮罩。接着设置材料的enableTexture的标签为sprite;

this._particles = [];
this._fields = [];
this._emitters = [];

最后将粒子、力场和发射器组初始为空。

4、另一对象

接着上述函数后其内部的又一对象。

4.1 属性

    culling: false,

    frustumCulling: false,

    castShadow: false,
    receiveShadow: false,

依次为剔除、视锥体剔除、投射阴影、接收阴影,全设置为不启用。

(待续)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值