MCPcopy Create free account
hub / github.com/LuxCoreRender/LuxCore / TilePathGUI

Method TilePathGUI

samples/luxcoreui/renderenginewindow.cpp:211–287  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

209}
210
211void RenderEngineWindow::TilePathGUI(Properties &props, bool &modifiedProps) {
212 PathGUI(props, modifiedProps);
213
214 bool bval;
215 float fval;
216 int ival;
217
218 if (ImGui::CollapsingHeader("Sampling", NULL, true, true)) {
219 ival = props.Get("tilepath.sampling.aa.size").Get<int>();
220 if (ImGui::InputInt(("x" + ToString(ival) + " Anti-aliasing").c_str(), &ival)) {
221 props.Set(Property("tilepath.sampling.aa.size")(ival));
222 modifiedProps = true;
223 }
224 LuxCoreApp::HelpMarker("tilepath.sampling.aa.size");
225 }
226
227 if (ImGui::CollapsingHeader("Tiles", NULL, true, true)) {
228 if (props.IsDefined("tile.size.x") || props.IsDefined("tile.size.y")) {
229 ival = props.Get("tile.size.x").Get<int>();
230 if (ImGui::SliderInt("Tile width", &ival, 8, 512, "%.0f pixels")) {
231 props.Set(Property("tile.size.x")(ival));
232 modifiedProps = true;
233 }
234 LuxCoreApp::HelpMarker("tile.size.x");
235
236 ival = props.Get("tile.size.y").Get<int>();
237 if (ImGui::SliderInt("Tile height", &ival, 8, 512, "%.0f pixels")) {
238 props.Set(Property("tile.size.y")(ival));
239 modifiedProps = true;
240 }
241 LuxCoreApp::HelpMarker("tile.size.y");
242 } else {
243 ival = props.Get("tile.size").Get<int>();
244 if (ImGui::SliderInt("Tile size", &ival, 8, 512, "%.0f pixels")) {
245 props.Set(Property("tile.size")(ival));
246 modifiedProps = true;
247 }
248 LuxCoreApp::HelpMarker("tile.size");
249
250 if (ImGui::Button("Separate tile horizontal and vertical size")) {
251 props.Set(Property("tile.size.x")(32));
252 props.Set(Property("tile.size.y")(64));
253 modifiedProps = true;
254 }
255 }
256
257 bval = props.Get("tile.multipass.enable").Get<bool>();
258 if (ImGui::Checkbox("Multi-pass rendering", &bval)) {
259 props.Set(Property("tile.multipass.enable")(bval));
260 modifiedProps = true;
261 }
262 LuxCoreApp::HelpMarker("tile.multipass.enable");
263
264 if (props.Get("tile.multipass.enable").Get<bool>()) {
265 fval = props.Get("tile.multipass.convergencetest.threshold256").Get<float>();
266 if (ImGui::SliderFloat("Convergence test threshold", &fval, 0.f, 256.f)) {
267 props.Set(Property("tile.multipass.convergencetest.threshold256")(fval));
268 modifiedProps = true;

Callers

nothing calls this directly

Calls 8

Get<int>Method · 0.80
GetMethod · 0.80
c_strMethod · 0.80
SetMethod · 0.80
IsDefinedMethod · 0.80
Get<bool>Method · 0.80
Get<float>Method · 0.80
ToStringFunction · 0.50

Tested by

no test coverage detected