MCPcopy Create free account
hub / github.com/davideberly/GeometricTools / VolumeFogEffect

Method VolumeFogEffect

GTE/Graphics/VolumeFogEffect.cpp:12–35  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

10using namespace gte;
11
12VolumeFogEffect::VolumeFogEffect(std::shared_ptr<ProgramFactory> const& factory,
13 std::shared_ptr<Texture2> const& texture,
14 SamplerState::Filter filter, SamplerState::Mode mode0,
15 SamplerState::Mode mode1)
16 :
17 mTexture(texture)
18{
19 int32_t api = factory->GetAPI();
20 mProgram = factory->CreateFromSources(*msVSSource[api], *msPSSource[api], "");
21 if (mProgram)
22 {
23 mSampler = std::make_shared<SamplerState>();
24 mSampler->filter = filter;
25 mSampler->mode[0] = mode0;
26 mSampler->mode[1] = mode1;
27
28 mProgram->GetVertexShader()->Set("PVWMatrix", mPVWMatrixConstant);
29 mProgram->GetPixelShader()->Set("baseTexture", texture, "baseSampler", mSampler);
30 }
31 else
32 {
33 LogError("Failed to compile shader programs.");
34 }
35}
36
37void VolumeFogEffect::SetPVWMatrixConstant(std::shared_ptr<ConstantBuffer> const& buffer)
38{

Callers

nothing calls this directly

Calls 3

CreateFromSourcesMethod · 0.80
GetAPIMethod · 0.45
SetMethod · 0.45

Tested by

no test coverage detected