void Material::CreateInputLayout(const std::string& technique_name, const std::string& pass_name, D3D11_INPUT_ELEMENT_DESC* input_element_descriptions, UINT input_element_description_count) { Technique* technique = effect_->TechniquesByName().at(technique_name); assert(technique != nullptr); Pass* pass = technique->PassesByName().at(pass_name); assert(pass != nullptr); ID3D11InputLayout* input_layout; pass->CreateInputLayout(input_element_descriptions, input_element_description_count, &input_layout); input_layout_.insert(std::pair<Pass*, ID3D11InputLayout*>(pass, input_layout)); }
void Material::CreateInputLayout(const std::string& techniqueName, const std::string& passName, D3D11_INPUT_ELEMENT_DESC* inputElementDescriptions, UINT inputElementDescriptionCount) { Technique* technique = mEffect->TechniquesByName().at(techniqueName); assert(technique != nullptr); Pass* pass = technique->PassesByName().at(passName); assert(pass != nullptr); ID3D11InputLayout* inputLayout; pass->CreateInputLayout(inputElementDescriptions, inputElementDescriptionCount, &inputLayout); mInputLayouts.insert(std::pair<Pass*, ID3D11InputLayout*>(pass, inputLayout)); }