Posted on Authorea 17 May 2021 — The copyright holder is the author/funder. All rights reserved. No reuse without permission. — https://doi.org/10.22541/au.162129047.76547134/v1 — This a preprint and has not been peer reviewed. Data may be preliminary. o plctossc ssinicvsaiain hr stu rca edfritreit-ee libraries intermediate-level for need screen, and crucial the tasks a Vulkan to Vulkan. of thus GPU images power to is different the of access there leverage the presentation the To visualization, simplify of manually. the scientific drastically done synchronization to that be as the related must such all loop logic about applications rendering involves triple-buffering, the for main directly or all the API Vulkan in double- particular, interactions the for In CPU-GPU using swapchain triangle However, code. simple a hardware. a of GPU using drawing latest lines the entry: of thousand to features a barrier all huge support to a and has OpenGL) Vulkan to (compared control more much ( 2016 in Mayavi future. API as Vulkan its releases--1-0-specification problem the on same introduced the decide group facing Khronos must now The it is VisPy back: reasons, context, years (W3C), this legacy WebGPU few In (Khronos), for Vulkan a communities as (Microsoft). faced such scientific 12 DirectX and graphics and graphics low-level (Apple), newer the to Metal in moving scatters, steadily widespread (lines, is still industry 3D and is the Python. audience and OpenGL in scientific 2D of library large achieve usage both a rendering to Although reached in scientific API VisPy 2D/3D 2.x objects, years, real-time ES few plotting main GL a common Within the the most of became etc.). the advantage visualization meshes, full new of volumes, a took colormaps, rendering wrote library images, scalable Rougier This and popular P. 2015). Nicolas fast a al., and both et Rossant, is (Campagnola Cyrille Mayavi VisPy a Klein, Almar library: user libraries Campagnola, rendering. of the Luke open-source control 3D gave 2013, various 2011). of In on been that Varoquaux, have lack & pipeline focused there (Ramachandran the programmable then, mostly Python of Since a in visualization, because example rendering. introduced scientific powerful of 2.X OpenGL-based stages particularly games, OpenGL various providing not video the 2004, many but customize In by to fixed use, used way a to via provided pipeline. been OpenGL simple mostly has rendering decade, was It decades, the first that its for 1992. During pipeline visualization in software. function scientific visualization created scientific library in and graphics applications, used graphics open-source been popular has a technology opportunity OpenGL, remarkable graphics a computer represents units Real-time intelligence, processing artificial graphics and parallel industry inter- respect. game massively scalable this video require of in the which development by data, The fostered of (GPU), amounts technology. increasing visualization exponentially scientific facing active are disciplines scientific Most Introduction 2021 17, May 3 2 1 Rossant Cyrille API GPU low-level Vulkan the DatoViz via with visualization scientific interactive High-performance NI odaxSud-Ouest Bordeaux INRIA available not Affiliation Laboratory Brain International 1 nentoa ri Laboratory Brain International , .Ti a enacmlt eeinfo h rudu ogive to up ground the from redesign complete a been has This ). 1 https://www.khronos.org/news/press/khronos- 2 n ioa .Rougier P. Nicolas and , 3 Posted on Authorea 17 May 2021 — The copyright holder is the author/funder. All rights reserved. No reuse without permission. — https://doi.org/10.22541/au.162129047.76547134/v1 — This a preprint and has not been peer reviewed. Data may be preliminary. so oa,w nwo oohrpbi ntaieta a xlrduigVla o cetfi computing. Rust. scientific or for MATLAB, Vulkan R, using visualization. Julia, explored scientific as has GPU-based such that for well, initiative API (Behnel as public future Cython languages a other using ( bindings other no ANARI Python by of is early noting know wrapped Worth and we be API today, C graph- could of a and Datoviz As provides 3D, Datoviz 2D, 2011). for 1). al., platform et Fig. unified ( low-level a (see Datoviz the the providing interfaces at and design user of aims Rossant ical and version that Cyrille technology early toolkit 2021, the visualization an February understand scientific Vulkan-based unveiled In to library. year Laboratory visualization a Brain scientific than International general-purpose more ( a took 2015 for It from foundations 2019. dates in computing purposes scientific alization for Vulkan using net/compiler-data-visualization/ of library idea Datoviz the the Although via cross- visualization a towards scientific years for of Vulkan low-overhead, couple scalable, past for the Vulkan in leverages made that have engine visualization. we or scientific visualization that complicated are visualizations, high-performance incredibly scientific engines progress scientific an game cross-language here into custom what delving of report platform, visualization without Vulkan developers We scientific leverage allows to API. to that is libraries, low-level library that plotting high-level intermediate-level engine of rendering an developers a general games: for a video need as to engines crucial to rendering a cases game exposes has extreme video GPU This such typical modern of visualization. aware disqualify a scientific be while limitations for must — these API API visualization All purpose corresponding not scientific the is a rendering. collection, it in proper large Besides, labeled points ensure a accuracy. colormaps, of such representational billions as rendering high even problem achieve such the or no to to engines, visualization millions rendering faithful game render precise be scientific also highly to in Furthermore, must unusual a present Games 3D. visualization requires Scientific not this or less and etc. generally ends. and 2D, data interpolations, are static their image 1D, that projections, more in indifferently non-cartesian concepts much different be axes, of is quite can number visualization and are a scientific extent) involves they whereas some interactive, similarities, (to and ( many interactive dynamic Ogre share highly as do generally such games are engines video rendering and existing visualization use to ( isbe Unity solution potential One https://unity.com/ https://www.khronos.org/anari ,o nel( Unreal or ), ,w tre eiul netgtn hstcnlg o cetfi visu- scientific for technology this investigating seriously started we ), https://www.unrealengine.com/ 2 ,aKrnswriggopta ilb defining be will that group working Khronos a ), https://datoviz.org/ .Hwvr lhuhscientific although However, ). https://www.ogre3d.org/ https://cyrille.rossant. ,aC/C++ a ), ), Posted on Authorea 17 May 2021 — The copyright holder is the author/funder. All rights reserved. No reuse without permission. — https://doi.org/10.22541/au.162129047.76547134/v1 — This a preprint and has not been peer reviewed. Data may be preliminary. aaigdt nteGUmmr sol rtse.Ascn tpi opoieready-to-use graphical 3D provide typical to most is the are step volumes second and A Meshes graphics. step. 2D first antialiased high-quality a than only implement is a memory implement GPU primitives to the and on data GPU; managing the binary record and to raw shaders; primitives CPU either custom the Graphics (in with between this GPU pipelines synchronization in compute the perform and covered loop. on times graphics to rendering are four data create swapchain-aware GPU; about store to purposes the typically textures); to visualization on is 3D functions scientific or that commands provides 2D, doing code 1D, wrapper C when or the to used buffers precisely, leading features purposes, More essential simplification to wrapper. for the layers it Only of several top in shorter. on Datoviz wrapper developed thin a have maintenance. purposes. we and wrapper different testing pipeline, thin facilitate very Vulkan rendering and for rendering. Vulkan concerns, 2D used of the to separation be of comes modularity, advantage achieve it also when full can especially take they visualization, To scientific but GPU-based effects, to central so-called lighting are in and Shaders customize, so-called transformation to in advanced triangles way triangle, the and for a or In points developers line, rendering). offered render (point, antialiased high-quality primitive OpenGL only to pipeline, can comes it programmable GPUs when shaders Essentially, the use with limited the have visualization? 2000s, that identify scientific early lines performance to for aliased optimal thin therefore GPU achieve also was the (and to used goal use be key to could How A they the applications. how although former. visualization understand visualization, scientific the to scientific typical than and or These with Vulkan requirements games of interactions. video demanding aspects GPU-CPU for less fundamental engines is and much Vulkan generic GPU has writing as of latter when low-level control essential and fine-grained are complex low-overhead, features provides as Vulkan technology using datasets. of point The Vulkan. and ( library, APIs, library and GUI creation libraries GPU-based window third-party cross-platform a few a ImGui, a GLFW, on Dear being rely ones which important layers most modular the several comprises Datoviz languages. level 1: Figure h rnfraino onsi h Dsae( space 3D the in points of transformation the , aoi architecture. Datoviz htaefeunl sdi cetfi optn.I un u ht3 rpisaemc ipe to simpler much are graphics 3D that out turns It computing. scientific in used frequently are that rvdn h onain o rtn rpispplnswt utmsaesand shaders custom with pipelines graphics writing for foundations the Providing . fVla rvdsarc,pwru,adcmlxCAI aoi isa providing at aims Datoviz API, C complex and powerful, rich, a provides Vulkan If . aoi rvdsaCAIta a ewapdb yhnadohrhigh- other and Python by wrapped be may that API C a provides Datoviz rgetshaders fragment 3 etxshaders vertex .Hsoial,teefaue eedesigned were features these Historically, ). ,adteclro vr ie neach in pixel every of color the and ), performance https://www.glfw.org/ seilywt huge with especially , graphics ), Posted on Authorea 17 May 2021 — The copyright holder is the author/funder. All rights reserved. No reuse without permission. — https://doi.org/10.22541/au.162129047.76547134/v1 — This a preprint and has not been peer reviewed. Data may be preliminary. fGUojcsnest ecrflyipeetduigfntoaiypoie yVla n Datoviz. and synchronization Vulkan proper by that provided noting functionality worth possibility using is implemented a It carefully also be is future. requiring to kernels the without needs CUDA in system thoroughly with objects the more Interoperability GPU of investigated GPU. of evolution be the the in to display visu- and equations needs differential and dynamic host that partial GPU, and the of the complex between the systems on highly transfers When These simulate rendering, method repeated could numerical fashion. and kernels. one a compute parallel OpenCL example, using massively both For or real-time for a implemented. CUDA used in be to arbitrarily, are may textures textures similar alizations or and are buffers buffers shaders GPU GPU implemen- Compute Vulkan same access in it. can mandatory programs supports is GPU fully support of shader Datoviz Compute complexity and low purposes. tations, relative visualization for the recreated computing given are GPGPU fast to computing controls quite power the GPU surprisingly, computing General-purpose perhaps rendering: the is, immediate of which uses most GPU, elements. library leaves GUI the This and typical on GUIs elements. frame of every visual rendering at and low-footprint data fast, scientific for the allows colormaps. This common Vulkan. 150 (typically, of values library (GUIs) parameter a imple- //.com/ocornut/imgui GPU provides interfaces is natively of user Interactivity also updates Datoviz Graphical real-time visualization. matrices). to scientific 3D projection events of zoom, and keyboard type and view, and the pan model, mouse interactivity: on mapping of depending by types cameras, various mented advanced implement first-person may an and panel be Each arcball, to layout. expected grid two-dimensional is a this although scene visuals, The custom entirely write also to a it 1975). user into but use-case. (Meisters, the polygon algorithm pipeline, allows a earcut graphics also of the triangle Datoviz triangulation using standard automatic example a images, an for on arrows, performs triangles, relies markers, that of visual paths, function set polygon segments, transformation the line custom example, end-user. a visuals: implements the an latter ready-to-use from As the common elements meshes. that visual of The is text, the library visuals of parameters. a and details provides and primitives implementation is Datoviz graphics data GPU data between vertex hide user-level distinction typically, to GPU The way although to buffer. a transformations, on) vertex provide data the so arbitrary into implement and copied to contents, just graphics free text is underlying colors, developer same path visual’s the positions, within (marker graphics data 3D solutions. Signed visualization and distance. scientific 2D existing that Visuals unifies in along of it typical median elements. function that not 2D path a is is other the which is approach and to stack, pixel this markers, pixel that arrows, of (Chlumsk´y, the advantage 2015), of text of An value for distance Antialiasing transparency used the thickness. also The pixel, path are For computed. each the fields SPIR-V). of distance for is called function axis shader: a language normal fragment as intermediate the the them toolchain shader triangulating compiler in low-level a by implemented provides rendered a is Khronos are Rougier as uses Vulkan, paths P. These (Vulkan to curved Nicolas it GLSL triangles. example, port ago, and supports to years lines straightforward natively Although was Several width that it 2014). much pixel OpenGL, 2013)(Rougier, shaders. single are (Rougier, used graphics custom points, code text 2D his to in antialiased high-quality and limited manually for algorithms arrows, is implemented GLSL one designed markers, be as must paths, GPU, elements continuous the visual on segments, implement line to as harder such Datoviz. graphics in Two-dimensional supported natively are they and primitives A . h cn useeyhn oehr iul r raie nosblt o aes ragdin arranged panels) (or subplots into organized are visuals together: everything puts scene The . visual nopse n rsvrlgahc ieie n rvdsawyt a user-facing map to way a provides and pipelines graphics several or one encompasses ,wihipeet ih ope U otosdrcl nteGUusing GPU the on directly controls GUI complex rich, implements which ), aoi aieyspot h erIGiC+lbay( library C++ ImGui Dear the supports natively Datoviz . nte eln on fVla n aoi sntv upr for support native is Datoviz and Vulkan of point selling Another . 4 https: Posted on Authorea 17 May 2021 — The copyright holder is the author/funder. All rights reserved. No reuse without permission. — https://doi.org/10.22541/au.162129047.76547134/v1 — This a preprint and has not been peer reviewed. Data may be preliminary. eaesilipoigterbsns ftecd n oigpatcs etn,cniuu integration, continuous ( testing, currently all practices: to open coding is and code respects. code the of the version of current datoviz datoviz/ the robustness While the documentation. improving and still are We signals thousand perspectives FPS. one Future 200 of at set renders a points) a and million FPS; FPS; 250 30 400 at of at renders a renders (total points lighting each on million standard points example, ten and For with 30,000 triangles plot containing visualization. scatter million scientific a ten in GPU, with unprecedented SUPER mesh 2070 is RTX Vulkan NVIDIA by high-end powered 2019 Datoviz. performance with of implemented level examples The visualization the few 2020) a is al., shows y-axis et controlling 2 interface (Alkemade the Figure user mesh and graphical brain small time, dot a 3D each potential with a where plot, colors. action of plot scatter and the standard scatter ultra-high-resolution size A is of marker An I. type the x-axis H. Bazin). particular the Pierre-Louis a cortex. of neuron, plot, the (courtesy raster a within A of depth G. potential neuron plot. action surface colored an and represents lighted 3D target, (Mapbox A DNA PAM-containing algorithm F. as to ear-clipping implemented bound the time- Cas9 map of multichannel of view/4UN3/1 choropleth implementation structure Several A C++ Crystal B. 4UN3 a C. PDB, earcut, lines. with shader. library, GPU triangulated fragment low-quality, earcut polygons the but of fast, in set with a written rendered algorithm signals, raymarching dependent standard a with 2: Figure applications Scientific aoi edrn example. rendering Datoviz .E neapeo w mgsta r lne nteGU(at mg:PxbyPIRO4D). Pixabay image: (Earth GPU the on blended are that images two of example An E. ). https://github.com/mapbox/earcut ,afis akgdrlaewl edn netepoetrahssffiin auiyi these in maturity sufficient reaches project the once done be will release packaged first a ), i rendered is 2020) al., et (Wang volume Brain Mouse Allen The A. 5 .D Dmlcl edrda Dms (RCSB mesh 3D a as rendered molecule 3D A D. ). https://www.rcsb.org/3d- tp:/ ihb com/ github. // https: Posted on Authorea 17 May 2021 — The copyright holder is the author/funder. All rights reserved. No reuse without permission. — https://doi.org/10.22541/au.162129047.76547134/v1 — This a preprint and has not been peer reviewed. Data may be preliminary. aai DVsaiaino cetfi aa (2011). Data. Scientific of https://doi.org/10.1109/mcse.2011.35 Visualization 3D Mayavi: References about books and at articles him Contact libraries, developers. Python VisPy several original the written one has is data. is and He visualization to IBL scientific France). access The (Bordeaux, open Diseases and decision-making. generative tools support source that mouse open Rougier computations of standardized Nicolas neural development a the and and develop uncover brain, use to mouse to the the to is analyses across committed and mission activity neural theory Its of use measurements world. to coordinated make the to across behavior, distributed decision-making groups and at neuroscience decade, him rienced a Contact for developers. visualization VisPy scientific The original for the GPU investigating of been one has is He he London. College University and Rossant Cyrille bios VisPy, of Author version future a of backend low-level natively library. a and plotting as interfaces, of scientific Datoviz direction user Python of libraries major graphical integration popular A visualization 3D, the a computing. scientific investigate 2D, GPU to for for general-purpose is stack and API development in rendering graphics intermediate-level between implemented unified interactions an is leverages a efficient offers technology supports that provides This that Datoviz technology Datoviz visualization GPUs. software. scientific called and through scalable library performance and unprecedented C/C++ fast achieve a to new API a Vulkan towards the work initial reported We the at video still real-time is Conclusion possible: which WebAssembly, are vendors. / approaches browser interesting WebGPU main major an or Two the be by server, would stage future. visualization Jupyter) development and (e.g., the GPU-powered specification fully integration in a Web and development with beginners moment. and for streaming the research tutorials at detailed of library write avenue desktop-only to a plan is we and Datoviz documented particular, heavily In already documentation is of API. effort. Datoviz lack the community, contrast, this document the By continue from documenta- end-users. to welcome of many intend warm role to critical a we barrier the received entry emphasize VisPy high to If want a we software. represented backend, VisPy, source with graphics whereas open experience low-level our in , 2020) the on tion between al., based and separation et context clear that low-level(Harris In a interface. a have software be plotting as and Datoviz and user could VisPy, of high-level libraries parallel of integration the meant version A the many and not investigate future of to functions. is a plan foundation plotting Datoviz for We backend ready-to-use functionality. the Napari. advanced expect is more or that who provides VisPy, that API SciPy end-users Matplotlib, NumPy graphical scientist as performant with by such highly directly made packages but used higher-level low-level relatively be build simple, to to a use offer can to people is plan long-term Datoviz’s nentoa ri Laboratory Brain International sanuocec eerhradsfwr niera h nentoa ri Laboratory Brain International the at engineer software and researcher neuroscience a is sarsace tIraBreu u-us n emlae tteIsiueo Neurode- of Institute the at leader team and Sud-Ouest Bordeaux Inria at researcher a is IL savrullbrtr,uiyn ru f2 ihyexpe- highly 22 of group a unifying laboratory, virtual a is (IBL) 6 optn nSine&Engineering & Science in Computing [email protected] [email protected] . , 13 2,40–51. (2), . Posted on Authorea 17 May 2021 — The copyright holder is the author/funder. All rights reserved. No reuse without permission. — https://doi.org/10.22541/au.162129047.76547134/v1 — This a preprint and has not been peer reviewed. Data may be preliminary. ra rgamn ihNmy (2020). NumPy. s41586-020-2649-2 with (2020). programming Specimens. Array Whole-Brain in (2020). Reconstructions 3D Atlas. Histological Neuroanatomy by Reference Followed 3D MRI Tesla A 7 Framework: Coordinate Common Brain 936–953.e20. Mouse Allen The 1080/00029890.1975.11993898 (1975). Ears. Have Polygons Fields Distance sity. Multi-channel for Decomposition Shape (2014). shaders. arrow and 52. marker, grid, 2d Antialiased (2013). 91–10. polylines. stroked dashed antialiased Shader-based (2011). Worlds. Both of //doi.org/10.1109/mcse.2010.118 Best (2015). The visualization. Cython: high-level fast, for Conference GPU Science the harnessing VisPy: https://hal.archives-ouvertes.fr/hal-01081592 https://hal.inria.fr/hal-00907326 https://doi.org/10.1016/j.cell.2020.04.007 , 14 . . https://doi.org/10.3389/fnana.2020.536838 https://hal.inria.fr/hal-01208191 h mrcnMteaia Monthly Mathematical American The optn nSine&Engineering & Science in Computing Nature 7 , 21) Mse’ hss.CehTcnclUniver- Technical Czech thesis]. [Master’s (2015). . 585 ora fCmue rpisTechniques Graphics Computer of Journal ora fCmue rpisTechniques Graphics Computer of Journal 72) 357–362. (7825), , 82 6,648–651. (6), rceig fte1t yhnin Python 14th the of Proceedings https://doi.org/10.1038/ , https://doi.org/10. 13 2,31–39. (2), Cell rnir in Frontiers , 181 https: , , 3 2 (4), (2), (4),