MCPcopy Create free account
hub / github.com/TheRealMJP/BakingLab / Initialize

Method Initialize

BakingLab/MeshBaker.cpp:1273–1310  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1271}
1272
1273void MeshBaker::Initialize(const BakeInputData& inputData)
1274{
1275 input = inputData;
1276 for(uint64 i = 0; i < AppSettings::NumCubeMaps; ++i)
1277 GetTextureData(input.Device, input.EnvMaps[i], input.EnvMapData[i]);
1278
1279 // Init embree
1280 rtcDevice = rtcNewDevice();
1281 RTCError embreeError = rtcDeviceGetError(rtcDevice);
1282 if(embreeError == RTC_UNSUPPORTED_CPU)
1283 throw Exception(L"Your CPU does not meet the minimum requirements for embree");
1284 else if(embreeError != RTC_NO_ERROR)
1285 throw Exception(L"Failed to initialize embree!");
1286
1287 // Build the BVHs
1288 BuildBVH(*input.SceneModel, sceneBVH, input.Device, rtcDevice);
1289
1290 renderSampleMode = AppSettings::RenderSampleMode;
1291 numRenderSamples = AppSettings::NumRenderSamples;
1292
1293 bakeSampleMode = AppSettings::BakeSampleMode;
1294 numBakeSamples = AppSettings::NumBakeSamples;
1295
1296 numThreads = GetNumThreads();
1297 renderSamples.resize(numThreads);
1298 bakeSamples.resize(numThreads);
1299
1300 for(uint64 i = 0; i < numThreads; ++i)
1301 {
1302 GenerateIntegrationSamples(renderSamples[i], numRenderSamples, TileSize, TileSize,
1303 renderSampleMode, NumIntegrationTypes, rng);
1304
1305 GenerateIntegrationSamples(bakeSamples[i], numBakeSamples, BakeGroupSize, 1,
1306 bakeSampleMode, NumIntegrationTypes, rng);
1307 }
1308
1309 initialized = true;
1310}
1311
1312void MeshBaker::Shutdown()
1313{

Callers 3

ExtractBakePointsFunction · 0.45
UpdateMethod · 0.45
InitializeFunction · 0.45

Calls 6

GetTextureDataFunction · 0.85
ExceptionClass · 0.85
BuildBVHFunction · 0.85
GetNumThreadsFunction · 0.85
resizeMethod · 0.45

Tested by

no test coverage detected