mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-10-17 21:29:19 +02:00
Verified locally now that Vulkan and DXC are installed: all 31 targets compile. glm has to come from eu07.glm only - having it both as a plain include and as an import made every overload ambiguous. nvrenderer.h is self-sufficient, since register.cpp includes nothing else. Fixes the vcpkg triplet, which was pinned to x64-windows.
25 lines
683 B
C++
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
|