12PANEL_3D_RAYTRACING_OPTIONS_BASE::PANEL_3D_RAYTRACING_OPTIONS_BASE( wxWindow* parent, wxWindowID
id,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString&
name ) :
RESETTABLE_PANEL( parent, id, pos, size, style,
name )
14 wxBoxSizer* bSizerMain;
15 bSizerMain =
new wxBoxSizer( wxVERTICAL );
17 m_renderingLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Rendering Options"), wxDefaultPosition, wxDefaultSize, 0 );
21 m_staticline1 =
new wxStaticLine(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
25 gSizer1 =
new wxGridSizer( 0, 1, 0, 20 );
31 m_cbRaytracing_addFloor =
new wxCheckBox(
this, wxID_ANY,
_(
"Add floor (slow)"), wxDefaultPosition, wxDefaultSize, 0 );
39 m_cbRaytracing_postProcessing =
new wxCheckBox(
this, wxID_ANY,
_(
"Screen space ambient occlusions and global illumination reflections (slow)"), wxDefaultPosition, wxDefaultSize, 0 );
44 bSizerMain->Add( gSizer1, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
46 wxFlexGridSizer* fgSizer111;
47 fgSizer111 =
new wxFlexGridSizer( 0, 4, 4, 8 );
48 fgSizer111->SetFlexibleDirection( wxBOTH );
49 fgSizer111->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
52 fgSizer111->Add( 0, 0, 1, wxEXPAND, 5 );
54 m_staticText19 =
new wxStaticText(
this, wxID_ANY,
_(
"Number of Samples"), wxDefaultPosition, wxDefaultSize, 0 );
56 fgSizer111->Add(
m_staticText19, 0, wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
58 m_staticText201 =
new wxStaticText(
this, wxID_ANY,
_(
"Spread Factor %"), wxDefaultPosition, wxDefaultSize, 0 );
60 fgSizer111->Add(
m_staticText201, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
62 m_staticText211 =
new wxStaticText(
this, wxID_ANY,
_(
"Recursion Level"), wxDefaultPosition, wxDefaultSize, 0 );
64 fgSizer111->Add(
m_staticText211, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
70 m_numSamples_Shadows =
new wxSpinCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 1, 64, 0 );
71 m_numSamples_Shadows->SetToolTip(
_(
"Number of rays that will be cast, into light direction, to evaluate a shadow point") );
75 m_spreadFactor_Shadows =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
79 fgSizer111->Add( 0, 0, 1, wxEXPAND, 5 );
85 m_numSamples_Reflections =
new wxSpinCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 1, 32, 0 );
93 m_recursiveLevel_Reflections =
new wxSpinCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 1, 5, 0 );
94 m_recursiveLevel_Reflections->SetToolTip(
_(
"Interactions number that a ray can travel through objects. (higher number of levels improve results, specially on very transparent boards)") );
102 m_numSamples_Refractions =
new wxSpinCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 1, 5, 0 );
110 m_recursiveLevel_Refractions =
new wxSpinCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 124,-1 ), wxSP_ARROW_KEYS, 1, 7, 0 );
116 bSizerMain->Add( fgSizer111, 0, wxEXPAND|wxALL, 5 );
119 bSizerMain->Add( 0, 20, 0, wxEXPAND, 5 );
121 m_lightsLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Lights Configuration"), wxDefaultPosition, wxDefaultSize, 0 );
123 bSizerMain->Add(
m_lightsLabel, 0, wxTOP|wxRIGHT|wxLEFT, 13 );
125 m_staticline2 =
new wxStaticLine(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
128 wxBoxSizer* bLightsSizer;
129 bLightsSizer =
new wxBoxSizer( wxVERTICAL );
131 wxBoxSizer* bTopLineSizer;
132 bTopLineSizer =
new wxBoxSizer( wxHORIZONTAL );
134 m_staticText17 =
new wxStaticText(
this, wxID_ANY,
_(
"Ambient camera light:"), wxDefaultPosition, wxDefaultSize, 0 );
136 bTopLineSizer->Add(
m_staticText17, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
144 bTopLineSizer->Add( 20, 0, 1, 0, 5 );
146 m_staticText5 =
new wxStaticText(
this, wxID_ANY,
_(
"Top light:"), wxDefaultPosition, wxDefaultSize, 0 );
148 bTopLineSizer->Add(
m_staticText5, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
156 bTopLineSizer->Add( 20, 0, 1, 0, 5 );
158 m_staticText6 =
new wxStaticText(
this, wxID_ANY,
_(
"Bottom light:"), wxDefaultPosition, wxDefaultSize, 0 );
160 bTopLineSizer->Add(
m_staticText6, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
168 bTopLineSizer->Add( 20, 0, 0, wxEXPAND, 5 );
171 bLightsSizer->Add( bTopLineSizer, 0, wxEXPAND|wxALL, 5 );
173 wxFlexGridSizer* fgSizer11;
174 fgSizer11 =
new wxFlexGridSizer( 0, 9, 3, 0 );
175 fgSizer11->SetFlexibleDirection( wxHORIZONTAL );
176 fgSizer11->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
179 fgSizer11->Add( 0, 0, 0, 0, 5 );
182 fgSizer11->Add( 0, 0, 0, 0, 5 );
184 m_staticText20 =
new wxStaticText(
this, wxID_ANY,
_(
"Elevation (deg)"), wxDefaultPosition, wxDefaultSize, 0 );
186 fgSizer11->Add(
m_staticText20, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
188 m_staticText18 =
new wxStaticText(
this, wxID_ANY,
_(
"Azimuth (deg)"), wxDefaultPosition, wxDefaultSize, 0 );
190 fgSizer11->Add(
m_staticText18, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
193 fgSizer11->Add( 30, 0, 0, 0, 5 );
196 fgSizer11->Add( 0, 0, 0, 0, 5 );
199 fgSizer11->Add( 0, 0, 0, 0, 5 );
201 m_staticText27 =
new wxStaticText(
this, wxID_ANY,
_(
"Elevation (deg)"), wxDefaultPosition, wxDefaultSize, 0 );
203 fgSizer11->Add(
m_staticText27, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT, 5 );
205 m_staticText28 =
new wxStaticText(
this, wxID_ANY,
_(
"Azimuth (deg)"), wxDefaultPosition, wxDefaultSize, 0 );
207 fgSizer11->Add(
m_staticText28, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT, 5 );
209 m_staticText21 =
new wxStaticText(
this, wxID_ANY,
_(
"Light 1:"), wxDefaultPosition, wxDefaultSize, 0 );
211 fgSizer11->Add(
m_staticText21, 0, wxALIGN_CENTER|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
218 m_lightElevation1 =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
219 fgSizer11->Add(
m_lightElevation1, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT|wxEXPAND, 5 );
221 m_lightAzimuth1 =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
222 fgSizer11->Add(
m_lightAzimuth1, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT|wxEXPAND, 5 );
225 fgSizer11->Add( 10, 0, 0, 0, 5 );
227 m_staticText22 =
new wxStaticText(
this, wxID_ANY,
_(
"Light 5:"), wxDefaultPosition, wxDefaultSize, 0 );
236 m_lightElevation5 =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
237 fgSizer11->Add(
m_lightElevation5, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
239 m_lightAzimuth5 =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
240 fgSizer11->Add(
m_lightAzimuth5, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
242 m_staticText23 =
new wxStaticText(
this, wxID_ANY,
_(
"Light 2:"), wxDefaultPosition, wxDefaultSize, 0 );
251 m_lightElevation2 =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
252 fgSizer11->Add(
m_lightElevation2, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
254 m_lightAzimuth2 =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
255 fgSizer11->Add(
m_lightAzimuth2, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
258 fgSizer11->Add( 0, 0, 0, 0, 5 );
260 m_staticText24 =
new wxStaticText(
this, wxID_ANY,
_(
"Light 6:"), wxDefaultPosition, wxDefaultSize, 0 );
269 m_lightElevation6 =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
270 fgSizer11->Add(
m_lightElevation6, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT|wxEXPAND, 5 );
272 m_lightAzimuth6 =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
273 fgSizer11->Add(
m_lightAzimuth6, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT|wxEXPAND, 5 );
275 m_staticText25 =
new wxStaticText(
this, wxID_ANY,
_(
"Light 3:"), wxDefaultPosition, wxDefaultSize, 0 );
284 m_lightElevation3 =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
285 fgSizer11->Add(
m_lightElevation3, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT|wxEXPAND, 5 );
287 m_lightAzimuth3 =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
288 fgSizer11->Add(
m_lightAzimuth3, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
291 fgSizer11->Add( 0, 0, 0, 0, 5 );
293 m_staticText26 =
new wxStaticText(
this, wxID_ANY,
_(
"Light 7:"), wxDefaultPosition, wxDefaultSize, 0 );
302 m_lightElevation7 =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
303 fgSizer11->Add(
m_lightElevation7, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
305 m_lightAzimuth7 =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
306 fgSizer11->Add(
m_lightAzimuth7, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
308 m_staticText171 =
new wxStaticText(
this, wxID_ANY,
_(
"Light 4:"), wxDefaultPosition, wxDefaultSize, 0 );
317 m_lightElevation4 =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
318 fgSizer11->Add(
m_lightElevation4, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
320 m_lightAzimuth4 =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
321 fgSizer11->Add(
m_lightAzimuth4, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
324 fgSizer11->Add( 0, 0, 0, 0, 5 );
326 m_staticText181 =
new wxStaticText(
this, wxID_ANY,
_(
"Light 8:"), wxDefaultPosition, wxDefaultSize, 0 );
335 m_lightElevation8 =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
336 fgSizer11->Add(
m_lightElevation8, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
338 m_lightAzimuth8 =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
339 fgSizer11->Add(
m_lightAzimuth8, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
342 bLightsSizer->Add( fgSizer11, 0, wxALL, 5 );
345 bSizerMain->Add( bLightsSizer, 0, 0, 5 );
348 this->SetSizer( bSizerMain );
350 bSizerMain->Fit(
this );
A simple color swatch of the kind used to set layer colors.
~PANEL_3D_RAYTRACING_OPTIONS_BASE()
wxTextCtrl * m_lightElevation3
wxTextCtrl * m_lightAzimuth7
wxTextCtrl * m_lightElevation8
wxTextCtrl * m_spreadFactor_Reflections
wxStaticText * m_staticText24
wxSpinCtrl * m_recursiveLevel_Refractions
wxTextCtrl * m_lightElevation4
wxCheckBox * m_cbRaytracing_postProcessing
COLOR_SWATCH * m_colourPickerLight6
wxStaticText * m_staticText211
COLOR_SWATCH * m_colourPickerTopLight
wxStaticText * m_staticText27
wxTextCtrl * m_lightElevation7
wxStaticText * m_renderingLabel
wxCheckBox * m_cbRaytracing_showReflections
wxCheckBox * m_cbRaytracing_addFloor
wxStaticLine * m_staticline2
wxStaticText * m_staticText25
wxCheckBox * m_cbRaytracing_showRefractions
wxTextCtrl * m_lightAzimuth3
wxSpinCtrl * m_numSamples_Reflections
wxStaticLine * m_staticline1
wxStaticText * m_staticText22
COLOR_SWATCH * m_colourPickerLight1
COLOR_SWATCH * m_colourPickerLight4
wxStaticText * m_staticText19
PANEL_3D_RAYTRACING_OPTIONS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
COLOR_SWATCH * m_colourPickerBottomLight
COLOR_SWATCH * m_colourPickerLight2
wxTextCtrl * m_lightElevation1
wxTextCtrl * m_spreadFactor_Shadows
COLOR_SWATCH * m_colourPickerCameraLight
wxTextCtrl * m_lightAzimuth8
wxTextCtrl * m_lightElevation2
COLOR_SWATCH * m_colourPickerLight8
wxStaticText * m_staticText5
wxStaticText * m_staticText23
wxStaticText * m_lightsLabel
wxSpinCtrl * m_numSamples_Refractions
wxStaticText * m_staticText201
wxTextCtrl * m_lightAzimuth4
wxSpinCtrl * m_recursiveLevel_Reflections
wxStaticText * m_staticText20
wxTextCtrl * m_lightAzimuth5
wxStaticText * m_staticText18
wxTextCtrl * m_lightAzimuth1
wxCheckBox * m_cbRaytracing_renderShadows
COLOR_SWATCH * m_colourPickerLight5
wxTextCtrl * m_spreadFactor_Refractions
wxStaticText * m_staticText21
wxStaticText * m_staticText171
COLOR_SWATCH * m_colourPickerLight3
wxSpinCtrl * m_numSamples_Shadows
wxStaticText * m_staticText26
wxStaticText * m_staticText6
wxStaticText * m_staticText28
COLOR_SWATCH * m_colourPickerLight7
wxCheckBox * m_cbRaytracing_proceduralTextures
wxStaticText * m_staticText17
wxStaticText * m_staticText181
wxTextCtrl * m_lightElevation6
wxTextCtrl * m_lightElevation5
wxTextCtrl * m_lightAzimuth6
wxTextCtrl * m_lightAzimuth2
wxCheckBox * m_cbRaytracing_antiAliasing
A wxPanel that is designed to be reset in a standard manner.