Skip to content

danielxaviersilva/ODFglyphs-benchmark

Repository files navigation

Glyph benchmark - Master's project.

This project aims to give a benchmark on Spherical Polar Plots glyphs (ODF glyphs) rendering for orientation distribution functions. We used spherical harmonics to synthesize the glyphs. The project is on C++ based on QT and uses the OpenMP library. The executable in the folder bin is a MacOSX program. The benchmarks aim to write the execution time interval for rendering multiple ODFs in a window and assess its scalability. The different rendering configurations explored are, in order of addiction, being (0) the most ineffective:

  1. Glyph Indexing;
  2. Glyph Indexing and instance rendering;
  3. Glyph Indexing and instance rendering and ODF symmetry;
  4. Glyph Indexing and instance rendering and ODF symmetry and GPU coalescent memory access.

To make the benchmark, we derived the glyphs from the following spherical meshes:

  1. Icosahedron (12 vertices, 20 triangles)
  2. 2nd tessellation order of the icosahedron (42 vertices, 80 triangles)
  3. 4th tessellation order of the icosahedron (162 vertices, 320 triangles)
  4. 8th tessellation order of the icosahedron (642 vertices, 1280 triangles)
  5. 16th tessellation order of the icosahedron (2562 vertices, 5120 triangles)

To do the benchmark, the executable is executed by command line with the following additional arguments: [tessellation order index] [rendering configuration] [path in system]

Example: './build/bin/macos/Benchmark-Glyphs 4 3 ./Results'

will generate the time data for the 3rd configuration (Glyph Indexing and instance rendering and ODF symmetry and GPU coalescent memory access) for the glyphs generated by the 16th tessellation order of the icosahedron on a mac.

The tessellation order index is set by the number before the indices of the meshes used (0, 1, 2, 3, or 4); The rendering configuration is set by the number (0, 1, 2, or 3) as stated earlier.

In benchmark mode, the amount of glyphs varies in the following order: 5², 10², 15², 20², ..., 100² on screen.

In the folder Results, there are the benchmark results for different meshes, referred by their vertices, and the different rendering configurations made on a Macbook Pro Retina 13'' early 2015. The executable used is in the folder build/bin/macos. The file "HARDI_Glyphs_BenchmarkDataProcessing.ipynb" developed under Jupyter Notebook process the data generated to generate the plot FPS X #glyphs for the configurations explored in this work.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published