mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-18 18:15:44 +00:00
rebuilding everything each time for ray benchmark
This commit is contained in:
parent
6851077ebb
commit
53a8fa7259
@ -49,19 +49,25 @@ namespace benchmarking
|
||||
|
||||
template <typename Precision>
|
||||
struct BenchRayTracing
|
||||
{
|
||||
|
||||
VTKM_CONT ~BenchRayTracing() {}
|
||||
|
||||
VTKM_CONT BenchRayTracing() {}
|
||||
|
||||
VTKM_CONT
|
||||
vtkm::Float64 operator()()
|
||||
{
|
||||
vtkm::rendering::raytracing::RayTracer Tracer;
|
||||
vtkm::rendering::raytracing::Camera RayCamera;
|
||||
vtkm::cont::ArrayHandle<vtkm::Vec<vtkm::Id, 4>> Indices;
|
||||
vtkm::rendering::raytracing::Ray<Precision> Rays;
|
||||
vtkm::Id NumberOfTriangles;
|
||||
vtkm::cont::CoordinateSystem Coords;
|
||||
vtkm::cont::DataSet Data;
|
||||
|
||||
VTKM_CONT BenchRayTracing()
|
||||
{
|
||||
vtkm::Id3 dims(128, 128, 128);
|
||||
vtkm::cont::testing::MakeTestDataSet maker;
|
||||
Data = maker.Make3DUniformDataSet2();
|
||||
Data = maker.Make3DUniformDataSet3(dims);
|
||||
Coords = Data.GetCoordinateSystem();
|
||||
|
||||
vtkm::rendering::Camera camera;
|
||||
@ -72,8 +78,10 @@ struct BenchRayTracing
|
||||
|
||||
vtkm::rendering::raytracing::TriangleExtractor triExtractor;
|
||||
triExtractor.ExtractCells(cellset);
|
||||
|
||||
vtkm::rendering::raytracing::TriangleIntersector* triIntersector =
|
||||
new vtkm::rendering::raytracing::TriangleIntersector();
|
||||
|
||||
triIntersector->SetData(Coords, triExtractor.GetTriangles());
|
||||
Tracer.AddShapeIntersector(triIntersector);
|
||||
|
||||
@ -109,16 +117,20 @@ struct BenchRayTracing
|
||||
|
||||
Tracer.SetColorMap(colors);
|
||||
Tracer.Render(Rays);
|
||||
}
|
||||
|
||||
VTKM_CONT
|
||||
vtkm::Float64 operator()()
|
||||
{
|
||||
vtkm::cont::Timer timer;
|
||||
timer.Start();
|
||||
|
||||
RayCamera.CreateRays(Rays, Coords.GetBounds());
|
||||
try
|
||||
{
|
||||
Tracer.Render(Rays);
|
||||
Tracer.Render(Rays);
|
||||
}
|
||||
catch (vtkm::cont::ErrorBadValue& e)
|
||||
{
|
||||
std::cout << "exception " << e.what() << "\n";
|
||||
}
|
||||
|
||||
return timer.GetElapsedTime();
|
||||
}
|
||||
@ -131,6 +143,7 @@ VTKM_MAKE_BENCHMARK(RayTracing, BenchRayTracing);
|
||||
}
|
||||
} // end namespace vtkm::benchmarking
|
||||
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
vtkm::cont::InitLogging(argc, argv);
|
||||
|
Loading…
Reference in New Issue
Block a user