MCPcopy Create free account
hub / github.com/FlaxEngine/FlaxEngine / clone

Method clone

Source/Engine/Graphics/Materials/MaterialParams.cpp:491–537  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

489}
490
491void MaterialParameter::clone(const MaterialParameter* param)
492{
493 // Clone data
494 _type = param->_type;
495 _isPublic = param->_isPublic;
496 _override = param->_override;
497 _registerIndex = param->_registerIndex;
498 _offset = param->_offset;
499 _name = param->_name;
500 _paramId = param->_paramId;
501
502 // Clone value
503 switch (_type)
504 {
505 case MaterialParameterType::Bool:
506 _asBool = param->_asBool;
507 break;
508 case MaterialParameterType::Integer:
509 case MaterialParameterType::SceneTexture:
510 case MaterialParameterType::ChannelMask:
511 case MaterialParameterType::TextureGroupSampler:
512 _asInteger = param->_asInteger;
513 break;
514 case MaterialParameterType::Float:
515 _asFloat = param->_asFloat;
516 break;
517 case MaterialParameterType::Vector2:
518 _asVector2 = param->_asVector2;
519 break;
520 case MaterialParameterType::Vector3:
521 _asVector3 = param->_asVector3;
522 break;
523 case MaterialParameterType::Vector4:
524 *(Float4*)&AsData = *(Float4*)&param->AsData;
525 break;
526 case MaterialParameterType::Color:
527 _asColor = param->_asColor;
528 break;
529 case MaterialParameterType::Matrix:
530 *(Matrix*)&AsData = *(Matrix*)&param->AsData;
531 break;
532 default:
533 break;
534 }
535 _asAsset = param->_asAsset;
536 _asGPUTexture = param->_asGPUTexture;
537}
538
539bool MaterialParameter::operator==(const MaterialParameter& other) const
540{

Callers 1

CloneMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected