Skip to content
Snippets Groups Projects
Commit 287e062b authored by Jonathan Ehret's avatar Jonathan Ehret
Browse files

Refactor.

parent 9ba67cb0
Branches
No related tags found
No related merge requests found
...@@ -37,14 +37,11 @@ std::int32_t main(std::int32_t argc, char** argv) ...@@ -37,14 +37,11 @@ std::int32_t main(std::int32_t argc, char** argv)
window ->AddRenderer (renderer); window ->AddRenderer (renderer);
window ->SetOffScreenRendering (true); window ->SetOffScreenRendering (true);
window ->SetSize (settings.image_size[0], settings.image_size[1]); window ->SetSize (settings.image_size[0], settings.image_size[1]);
//window->SetMultiSamples (settings.samples);
window ->SetPolygonSmoothing (true); window ->SetPolygonSmoothing (true);
renderer->SetPass (ospray_pass); renderer->SetPass (ospray_pass);
renderer->SetUseShadows (true); renderer->SetUseShadows (true);
renderer->SetAutomaticLightCreation (true); renderer->SetAutomaticLightCreation (true);
vtkOSPRayRendererNode::SetSamplesPerPixel(settings.samples, renderer); vtkOSPRayRendererNode::SetSamplesPerPixel(settings.samples, renderer);
//vtkOSPRayRendererNode::SetAmbientSamples(4, renderer);
//vtkOSPRayRendererNode::SetRendererType ("pathtracer", renderer);
std::cout << "Setting up camera interpolator.\n"; std::cout << "Setting up camera interpolator.\n";
auto interpolator = vtkSmartPointer<vtkCameraInterpolator>::New(); auto interpolator = vtkSmartPointer<vtkCameraInterpolator>::New();
...@@ -61,12 +58,12 @@ std::int32_t main(std::int32_t argc, char** argv) ...@@ -61,12 +58,12 @@ std::int32_t main(std::int32_t argc, char** argv)
} }
std::cout << "Setting up geometry and volume.\n"; std::cout << "Setting up geometry and volume.\n";
auto pd_reader = vtkSmartPointer<vtkXMLPolyDataReader> (); auto geometry_reader = vtkSmartPointer<vtkXMLPolyDataReader> ();
auto pd_mapper = vtkSmartPointer<vtkPolyDataMapper> (); auto geometry_mapper = vtkSmartPointer<vtkPolyDataMapper> ();
auto pd_actor = vtkSmartPointer<vtkActor> (); auto actor = vtkSmartPointer<vtkActor> ();
auto ug_reader = vtkSmartPointer<vtkXMLImageDataReader>(); auto volume_reader = vtkSmartPointer<vtkXMLImageDataReader>();
auto ug_mapper = vtkSmartPointer<vtkOSPRayVolumeMapper>(); auto volume_mapper = vtkSmartPointer<vtkOSPRayVolumeMapper>();
auto ug_volume = vtkSmartPointer<vtkVolume> (); auto volume = vtkSmartPointer<vtkVolume> ();
std::cout << "Setting up video writer.\n"; std::cout << "Setting up video writer.\n";
auto window_to_image = vtkSmartPointer<vtkWindowToImageFilter>::New(); auto window_to_image = vtkSmartPointer<vtkWindowToImageFilter>::New();
...@@ -92,51 +89,51 @@ std::int32_t main(std::int32_t argc, char** argv) ...@@ -92,51 +89,51 @@ std::int32_t main(std::int32_t argc, char** argv)
{ {
std::cout << "Clearing previous slice.\n"; std::cout << "Clearing previous slice.\n";
renderer ->RemoveActor (pd_actor ); renderer ->RemoveActor (actor );
pd_actor ->SetMapper (nullptr ); actor ->SetMapper (nullptr );
pd_mapper->RemoveInputConnection(0, pd_reader->GetOutputPort()); geometry_mapper->RemoveInputConnection(0, geometry_reader->GetOutputPort());
renderer ->RemoveVolume (ug_volume); renderer ->RemoveVolume (volume);
ug_volume->SetMapper (nullptr ); volume->SetMapper (nullptr );
ug_mapper->RemoveInputConnection(0, ug_reader->GetOutputPort()); volume_mapper->RemoveInputConnection(0, volume_reader->GetOutputPort());
pd_reader = nullptr; geometry_reader = nullptr;
pd_mapper = nullptr; geometry_mapper = nullptr;
pd_actor = nullptr; actor = nullptr;
ug_reader = nullptr; volume_reader = nullptr;
ug_mapper = nullptr; volume_mapper = nullptr;
ug_volume = nullptr; volume = nullptr;
} }
pd_reader = vtkSmartPointer<vtkXMLPolyDataReader> ::New(); geometry_reader = vtkSmartPointer<vtkXMLPolyDataReader> ::New();
pd_mapper = vtkSmartPointer<vtkPolyDataMapper> ::New(); geometry_mapper = vtkSmartPointer<vtkPolyDataMapper> ::New();
pd_actor = vtkSmartPointer<vtkActor> ::New(); actor = vtkSmartPointer<vtkActor> ::New();
ug_reader = vtkSmartPointer<vtkXMLImageDataReader>::New(); volume_reader = vtkSmartPointer<vtkXMLImageDataReader>::New();
ug_mapper = vtkSmartPointer<vtkOSPRayVolumeMapper>::New(); volume_mapper = vtkSmartPointer<vtkOSPRayVolumeMapper>::New();
ug_volume = vtkSmartPointer<vtkVolume> ::New(); volume = vtkSmartPointer<vtkVolume> ::New();
std::cout << "Loading next slice: " << slice << ".\n"; std::cout << "Loading next slice: " << slice << ".\n";
pd_reader->SetFileName (settings.data_filepaths[slice].geometry.c_str()); geometry_reader->SetFileName (settings.data_filepaths[slice].geometry.c_str());
pd_mapper->SetInputConnection (pd_reader->GetOutputPort()); geometry_mapper->SetInputConnection (geometry_reader->GetOutputPort());
pd_actor ->SetMapper (pd_mapper); actor ->SetMapper (geometry_mapper);
pd_actor ->GetProperty()->SetInterpolation (VTK_PBR); actor ->GetProperty()->SetInterpolation (VTK_PBR);
renderer ->AddActor (pd_actor ); renderer ->AddActor (actor );
ug_reader->SetFileName (settings.data_filepaths[slice].volume .c_str()); volume_reader->SetFileName (settings.data_filepaths[slice].volume .c_str());
ug_reader->SetInputArrayToProcess (0, 0, 0, vtkDataObject::FIELD_ASSOCIATION_POINTS, "Q"); volume_reader->SetInputArrayToProcess (0, 0, 0, vtkDataObject::FIELD_ASSOCIATION_POINTS, "Q");
ug_reader->Update (); volume_reader->Update ();
ug_reader->GetOutput ()->GetPointData()->SetActiveScalars("Q"); volume_reader->GetOutput ()->GetPointData()->SetActiveScalars("Q");
ug_mapper->SetInputData (ug_reader->GetOutput()); volume_mapper->SetInputData (volume_reader->GetOutput());
ug_mapper->SetInputArrayToProcess (0, 0, 0, vtkDataObject::FIELD_ASSOCIATION_POINTS, "Q"); volume_mapper->SetInputArrayToProcess (0, 0, 0, vtkDataObject::FIELD_ASSOCIATION_POINTS, "Q");
ug_volume->SetMapper (ug_mapper); volume->SetMapper (volume_mapper);
ug_volume->GetProperty()->SetScalarOpacity (tf.opacity_function); volume->GetProperty()->SetScalarOpacity (tf.opacity_function);
ug_volume->GetProperty()->SetColor (tf.color_function); volume->GetProperty()->SetColor (tf.color_function);
ug_volume->GetProperty()->SetScalarOpacityUnitDistance(0.00001); volume->GetProperty()->SetScalarOpacityUnitDistance(0.00001);
ug_volume->GetProperty()->SetInterpolationType (VTK_LINEAR_INTERPOLATION); volume->GetProperty()->SetInterpolationType (VTK_LINEAR_INTERPOLATION);
ug_volume->GetProperty()->ShadeOff (); volume->GetProperty()->ShadeOn ();
renderer ->AddVolume (ug_volume); renderer ->AddVolume (volume);
last_slice = slice; last_slice = slice;
} }
......
{ {
"data_filepaths": "data_filepaths":
[ [
{ "geometry": "D:/data/grids/AIA/Oxyflame/GEOM_0013200.vtp", "volume": "D:/data/grids/AIA/Oxyflame/QOUT_0013200.vti" }, { "geometry": "D:/data/grids/AIA/Oxyflame/GEOM_0013200.vtp", "volume": "D:/data/grids/AIA/Oxyflame/1024/QOUT_0013200.vti" },
{ "geometry": "D:/data/grids/AIA/Oxyflame/GEOM_0013200.vtp", "volume": "D:/data/grids/AIA/Oxyflame/QOUT_0013200.vti" }, { "geometry": "D:/data/grids/AIA/Oxyflame/GEOM_0013200.vtp", "volume": "D:/data/grids/AIA/Oxyflame/1024/QOUT_0013200.vti" },
{ "geometry": "D:/data/grids/AIA/Oxyflame/GEOM_0013200.vtp", "volume": "D:/data/grids/AIA/Oxyflame/QOUT_0013200.vti" } { "geometry": "D:/data/grids/AIA/Oxyflame/GEOM_0013200.vtp", "volume": "D:/data/grids/AIA/Oxyflame/1024/QOUT_0013200.vti" }
], ],
"transfer_function": "D:/source/internal/oxyflame_rendering_tools/transfer_function.json", "transfer_function": "D:/source/internal/oxyflame_rendering_tools/transfer_function.json",
"time_scale" : 1000.0, "time_scale" : 1000.0,
......
[ [
{ {
"ColorSpace" : "Diverging", "ColorSpace" : "Lab",
"Name" : "Oxy 98", "Name" : "Oxy Red White",
"Points" : "Points" :
[ [
0.0, 0.0,
...@@ -12,9 +12,13 @@ ...@@ -12,9 +12,13 @@
0.0, 0.0,
0.5, 0.5,
0.0, 0.0,
0.050000000000000003, 0.01,
0.0062500000931322575,
0.5,
0.0, 0.0,
0.5, 0.5,
0.10000000149011612,
0.5,
0.0, 0.0,
1.0, 1.0,
1.0, 1.0,
...@@ -24,13 +28,73 @@ ...@@ -24,13 +28,73 @@
"RGBPoints" : "RGBPoints" :
[ [
0.0, 0.0,
0.70588200000000001, 0.403922,
0.0156863, 0.0,
0.14902000000000001, 0.050979999999999998,
0.062744999999999995,
0.52596699999999996,
0.029527000000000001,
0.066727999999999996,
0.12548999999999999,
0.64764299999999997,
0.058962000000000001,
0.082475999999999994,
0.1882355,
0.722445,
0.076677999999999996,
0.098224000000000006,
0.2509805,
0.79718599999999995,
0.095194000000000001,
0.114187,
0.31372549999999999,
0.86805100000000002,
0.16409099999999999,
0.14371400000000001,
0.37647049999999999,
0.937809,
0.233541,
0.173933,
0.43921549999999998,
0.96143000000000001,
0.32605899999999999,
0.232987,
0.50196078499999996,
0.984375,
0.41814699999999999,
0.292657,
0.56470600000000004,
0.986344,
0.49688599999999999,
0.371396,
0.62745099999999998,
0.98823499999999997,
0.57570200000000005,
0.45067299999999999,
0.69019600000000003,
0.98823499999999997,
0.65640900000000002,
0.54319099999999998,
0.75294100000000008,
0.98841999999999997,
0.73674700000000004,
0.63589399999999996,
0.81568649999999998,
0.99235700000000004,
0.809581,
0.73234900000000003,
0.87843150000000003,
0.99618600000000002,
0.88069200000000003,
0.82675900000000002,
0.94117650000000008,
0.99815500000000001,
0.92203000000000002,
0.88581299999999996,
1.0,
1.0, 1.0,
0.231373, 0.96078399999999997,
0.298039, 0.94117600000000001
0.75294099999999997
] ]
} }
] ]
......
[
{
"ColorSpace" : "Lab",
"Name" : "Oxy Red White",
"Points" :
[
0.0,
0.0,
0.5,
0.0,
0.0,
0.0,
0.5,
0.0,
0.01,
0.0062500000931322575,
0.5,
0.0,
0.5,
0.10000000149011612,
0.5,
0.0,
1.0,
1.0,
0.5,
0.0
],
"RGBPoints" :
[
0.0,
0.403922,
0.0,
0.050979999999999998,
0.062744999999999995,
0.52596699999999996,
0.029527000000000001,
0.066727999999999996,
0.12548999999999999,
0.64764299999999997,
0.058962000000000001,
0.082475999999999994,
0.1882355,
0.722445,
0.076677999999999996,
0.098224000000000006,
0.2509805,
0.79718599999999995,
0.095194000000000001,
0.114187,
0.31372549999999999,
0.86805100000000002,
0.16409099999999999,
0.14371400000000001,
0.37647049999999999,
0.937809,
0.233541,
0.173933,
0.43921549999999998,
0.96143000000000001,
0.32605899999999999,
0.232987,
0.50196078499999996,
0.984375,
0.41814699999999999,
0.292657,
0.56470600000000004,
0.986344,
0.49688599999999999,
0.371396,
0.62745099999999998,
0.98823499999999997,
0.57570200000000005,
0.45067299999999999,
0.69019600000000003,
0.98823499999999997,
0.65640900000000002,
0.54319099999999998,
0.75294100000000008,
0.98841999999999997,
0.73674700000000004,
0.63589399999999996,
0.81568649999999998,
0.99235700000000004,
0.809581,
0.73234900000000003,
0.87843150000000003,
0.99618600000000002,
0.88069200000000003,
0.82675900000000002,
0.94117650000000008,
0.99815500000000001,
0.92203000000000002,
0.88581299999999996,
1.0,
1.0,
0.96078399999999997,
0.94117600000000001
]
}
]
[
{
"ColorSpace" : "Lab",
"Name" : "Oxyflame Red 2",
"Points" :
[
0.0,
0.0,
0.5,
0.0,
0.0,
0.0,
0.5,
0.0,
0.089999999999999997,
0.0,
0.5,
0.0,
1.0,
1.0,
0.5,
0.0
],
"RGBPoints" :
[
0.0,
0.403922,
0.0,
0.050979999999999998,
0.062744999999999995,
0.52596699999999996,
0.029527000000000001,
0.066727999999999996,
0.12548999999999999,
0.64764299999999997,
0.058962000000000001,
0.082475999999999994,
0.1882355,
0.722445,
0.076677999999999996,
0.098224000000000006,
0.2509805,
0.79718599999999995,
0.095194000000000001,
0.114187,
0.31372549999999999,
0.86805100000000002,
0.16409099999999999,
0.14371400000000001,
0.37647049999999999,
0.937809,
0.233541,
0.173933,
0.43921549999999998,
0.96143000000000001,
0.32605899999999999,
0.232987,
0.50196078499999996,
0.984375,
0.41814699999999999,
0.292657,
0.56470600000000004,
0.986344,
0.49688599999999999,
0.371396,
0.62745099999999998,
0.98823499999999997,
0.57570200000000005,
0.45067299999999999,
0.69019600000000003,
0.98823499999999997,
0.65640900000000002,
0.54319099999999998,
0.75294100000000008,
0.98841999999999997,
0.73674700000000004,
0.63589399999999996,
0.81568649999999998,
0.99235700000000004,
0.809581,
0.73234900000000003,
0.87843150000000003,
0.99618600000000002,
0.88069200000000003,
0.82675900000000002,
0.94117650000000008,
0.99815500000000001,
0.92203000000000002,
0.88581299999999996,
1.0,
1.0,
0.96078399999999997,
0.94117600000000001
]
}
]
[
{
"ColorSpace" : "Diverging",
"Name" : "Oxy 100",
"Points" :
[
0.0,
0.0,
0.5,
0.0,
0.0,
0.0,
0.5,
0.0,
0.01,
0.0,
0.5,
0.0,
1.0,
1.0,
0.5,
0.0
],
"RGBPoints" :
[
0.0,
0.70588200000000001,
0.0156863,
0.14902000000000001,
1.0,
0.231373,
0.298039,
0.75294099999999997
]
}
]
[
{
"ColorSpace" : "Diverging",
"Name" : "Oxy 99",
"Points" :
[
0.0,
0.0,
0.5,
0.0,
0.0,
0.0,
0.5,
0.0,
0.02,
0.0,
0.5,
0.0,
1.0,
1.0,
0.5,
0.0
],
"RGBPoints" :
[
0.0,
0.70588200000000001,
0.0156863,
0.14902000000000001,
1.0,
0.231373,
0.298039,
0.75294099999999997
]
}
]
[
{
"ColorSpace" : "Diverging",
"Name" : "Oxy 101",
"Points" :
[
0.0,
0.0,
0.5,
0.0,
0.0,
0.0,
0.5,
0.0,
0.029999999999999999,
0.0,
0.5,
0.0,
1.0,
1.0,
0.5,
0.0
],
"RGBPoints" :
[
0.0,
0.70588200000000001,
0.0156863,
0.14902000000000001,
1.0,
0.231373,
0.298039,
0.75294099999999997
]
}
]
[
{
"ColorSpace" : "Diverging",
"Name" : "Oxy 102",
"Points" :
[
0.0,
0.0,
0.5,
0.0,
0.0,
0.0,
0.5,
0.0,
0.040000000000000001,
0.0,
0.5,
0.0,
1.0,
1.0,
0.5,
0.0
],
"RGBPoints" :
[
0.0,
0.70588200000000001,
0.0156863,
0.14902000000000001,
1.0,
0.231373,
0.298039,
0.75294099999999997
]
}
]
[
{
"ColorSpace" : "Diverging",
"Name" : "Oxy 98",
"Points" :
[
0.0,
0.0,
0.5,
0.0,
0.0,
0.0,
0.5,
0.0,
0.050000000000000003,
0.0,
0.5,
0.0,
1.0,
1.0,
0.5,
0.0
],
"RGBPoints" :
[
0.0,
0.70588200000000001,
0.0156863,
0.14902000000000001,
1.0,
0.231373,
0.298039,
0.75294099999999997
]
}
]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment