Photon Editor Library 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
Shader.h
Go to the documentation of this file.
1#pragma once
2
4
5#include <memory>
6
7namespace ph::editor::ghi { class ShaderProgram; }
8
9namespace ph::editor::render
10{
11
12class Shader : public ISceneResource
13{
14public:
16
17 ~Shader() override;
18
19 virtual ghi::ShaderProgram* getGHIShader() const = 0;
20 virtual std::shared_ptr<ghi::ShaderProgram> getGHIShaderResource() const = 0;
21
22 void setupGHI(GHIThreadCaller& caller) override = 0;
23 void cleanupGHI(GHIThreadCaller& caller) override = 0;
24};
25
26}// end namespace ph::editor::render
Thin wrapper for GHI thread interactions from another thread. Mainly to hide unrelated GHI interface ...
Definition GHIThreadCaller.h:16
Definition ShaderProgram.h:15
Definition ISceneResource.h:9
Definition Shader.h:13
void setupGHI(GHIThreadCaller &caller) override=0
void cleanupGHI(GHIThreadCaller &caller) override=0
virtual std::shared_ptr< ghi::ShaderProgram > getGHIShaderResource() const =0
virtual ghi::ShaderProgram * getGHIShader() const =0
Definition PlatformDisplay.h:13
Definition DesignerObject.h:19