MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/Falcor / init

Method init

Source/Falcor/Scene/Material/MERLMaterial.cpp:67–86  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

65 }
66
67 void MERLMaterial::init(const MERLFile& merlFile)
68 {
69 mPath = merlFile.getDesc().path;
70 mBRDFName = merlFile.getDesc().name;
71 mData.extraData = merlFile.getDesc().extraData;
72
73 // Create GPU buffer.
74 const auto& brdf = merlFile.getData();
75 FALCOR_CHECK(!brdf.empty() && sizeof(brdf[0]) == sizeof(float3), "Expected BRDF data in float3 format.");
76 mpBRDFData = mpDevice->createBuffer(brdf.size() * sizeof(brdf[0]), ResourceBindFlags::ShaderResource, MemoryType::DeviceLocal, brdf.data());
77
78 // Create sampler for albedo LUT.
79 Sampler::Desc desc;
80 desc.setFilterMode(TextureFilteringMode::Linear, TextureFilteringMode::Point, TextureFilteringMode::Point);
81 desc.setAddressingMode(TextureAddressingMode::Clamp, TextureAddressingMode::Clamp, TextureAddressingMode::Clamp);
82 desc.setMaxAnisotropy(1);
83 mpLUTSampler = mpDevice->createSampler(desc);
84
85 markUpdates(Material::UpdateFlags::ResourcesChanged);
86 }
87
88 bool MERLMaterial::renderUI(Gui::Widgets& widget)
89 {

Callers

nothing calls this directly

Calls 6

createBufferMethod · 0.80
createSamplerMethod · 0.80
getDataMethod · 0.45
emptyMethod · 0.45
sizeMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected