/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ #include "SimpleDrawable.hpp" #include namespace OpenVulkano::Scene { void SimpleDrawable::Init(Shader* shader, Geometry* mesh, Material* material, UniformBuffer* uniBuffer) { if (m_mesh || m_material || m_uniBuffer) throw std::runtime_error("Drawable is already initialized."); m_mesh = mesh; m_material = material; m_uniBuffer = uniBuffer; SetShader(shader); } void SimpleDrawable::Init(SimpleDrawable* drawable) { if (m_mesh || m_material || m_uniBuffer) throw std::runtime_error("Drawable is already initialized."); m_mesh = drawable->m_mesh; m_material = drawable->m_material; m_uniBuffer = drawable->m_uniBuffer; SetShader(drawable->GetShader()); } }