示例#1
0
ItemKey ModelMeshPartPayload::getKey() const {
    ItemKey::Builder builder;
    builder.withTypeShape();

    ModelPointer model = _model.lock();
    if (model) {
        if (!model->isVisible()) {
            builder.withInvisible();
        }

        if (model->isLayeredInFront()) {
            builder.withLayered();
        }

        if (_isBlendShaped || _isSkinned) {
            builder.withDeformed();
        }

        if (_drawMaterial) {
            auto matKey = _drawMaterial->getKey();
            if (matKey.isTranslucent()) {
                builder.withTransparent();
            }
        }

        if (_fadeState != FADE_COMPLETE) {
            builder.withTransparent();
        }
    }
    return builder.build();
}
示例#2
0
ItemKey ModelMeshPartPayload::getKey() const {
    ItemKey::Builder builder;
    builder.withTypeShape();

    if (!_model->isVisible()) {
        builder.withInvisible();
    }

    if (_model->isLayeredInFront()) {
        builder.withLayered();
    }

    if (_isBlendShaped || _isSkinned) {
        builder.withDeformed();
    }

    if (_drawMaterial) {
        auto matKey = _drawMaterial->getKey();
        if (matKey.isTranslucent()) {
            builder.withTransparent();
        }
    }

    if (!_hasFinishedFade) {
        builder.withTransparent();
    }

    return builder.build();
}
示例#3
0
ItemKey MeshPartPayload::getKey() const {
    ItemKey::Builder builder;
    builder.withTypeShape();

    if (_drawMaterial) {
        auto matKey = _drawMaterial->getKey();
        if (matKey.isTranslucent()) {
            builder.withTransparent();
        }
    }

    return builder.build();
}
示例#4
0
ItemKey ModelMeshPartPayload::getKey() const {
    ItemKey::Builder builder;
    builder.withTypeShape();

    if (!_model->isVisible()) {
        builder.withInvisible();
    }

    if (_isBlendShaped || _isSkinned) {
        builder.withDeformed();
    }

    if (_drawMaterial) {
        auto matKey = _drawMaterial->getKey();
        if (matKey.isTransparent() || matKey.isTransparentMap()) {
            builder.withTransparent();
        }
    }

    return builder.build();
}