17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-10-18 18:29:40 +02:00
Files
maszyna/betterRenderer/renderer/source/rt_model.h
maj00r 1455583ab6 put every include before every import
A header first pulled in through an imported module's global module
fragment leaves no include guard in the importing unit - macros do not
cross a module boundary - so a later textual include parses it again and
MSVC rejects the redefinition. Redoes the betterRenderer sweep with
placement that stays out of #if blocks, which is where the previous one
dropped <fstream> and broke nvrenderer_d3d12.cpp.
2026-09-10 00:40:32 +02:00

25 lines
683 B
C++

#pragma once
#include <memory>
#include "nvrenderer/nvrenderer.h"
// TSubModel/TModel3d are owned by the simulation core; a forward
// declaration here would be a second, conflicting declaration.
import eu07.simcore;
import eu07.glm;
namespace Rt {
struct IRtModel {
virtual TSubModel const* Intersect(NvRenderer::Renderable const& renderable,
glm::dvec3 const& ro,
glm::dvec3 const& rd) const {
return nullptr;
}
virtual ~IRtModel() = default;
};
std::shared_ptr<IRtModel> CreateRtModel(TModel3d const* src,
NvRenderer const* owner);
} // namespace Rt