25 research outputs found

    Interactive ray tracing for volume visualization

    Get PDF
    Journal ArticleWe present a brute-force ray tracing system for interactive volume visualization, The system runs on a conventional (distributed) shared-memory multiprocessor machine. For each pixel we trace a ray through a volume to compute the color for that pixel. Although this method has high intrinsic computational cost, its simplicity and scalability make it ideal for large datasets on current high-end parallel systems

    Diamond-based models for scientific visualization

    Get PDF
    Hierarchical spatial decompositions are a basic modeling tool in a variety of application domains including scientific visualization, finite element analysis and shape modeling and analysis. A popular class of such approaches is based on the regular simplex bisection operator, which bisects simplices (e.g. line segments, triangles, tetrahedra) along the midpoint of a predetermined edge. Regular simplex bisection produces adaptive simplicial meshes of high geometric quality, while simplifying the extraction of crack-free, or conforming, approximations to the original dataset. Efficient multiresolution representations for such models have been achieved in 2D and 3D by clustering sets of simplices sharing the same bisection edge into structures called diamonds. In this thesis, we introduce several diamond-based approaches for scientific visualization. We first formalize the notion of diamonds in arbitrary dimensions in terms of two related simplicial decompositions of hypercubes. This enables us to enumerate the vertices, simplices, parents and children of a diamond. In particular, we identify the number of simplices involved in conforming updates to be factorial in the dimension and group these into a linear number of subclusters of simplices that are generated simultaneously. The latter form the basis for a compact pointerless representation for conforming meshes generated by regular simplex bisection and for efficiently navigating the topological connectivity of these meshes. Secondly, we introduce the supercube as a high-level primitive on such nested meshes based on the atomic units within the underlying triangulation grid. We propose the use of supercubes to associate information with coherent subsets of the full hierarchy and demonstrate the effectiveness of such a representation for modeling multiresolution terrain and volumetric datasets. Next, we introduce Isodiamond Hierarchies, a general framework for spatial access structures on a hierarchy of diamonds that exploits the implicit hierarchical and geometric relationships of the diamond model. We use an isodiamond hierarchy to encode irregular updates to a multiresolution isosurface or interval volume in terms of regular updates to diamonds. Finally, we consider nested hypercubic meshes, such as quadtrees, octrees and their higher dimensional analogues, through the lens of diamond hierarchies. This allows us to determine the relationships involved in generating balanced hypercubic meshes and to propose a compact pointerless representation of such meshes. We also provide a local diamond-based triangulation algorithm to generate high-quality conforming simplicial meshes

    Supercubes: A High-Level Primitive for Diamond Hierarchies

    Full text link

    Time Critical Isosurface Refinement and Smoothing

    Full text link

    Hierarchical volumetric object representations for digital fabrication workflows

    Get PDF
    Thesis (S.M.)--Massachusetts Institute of Technology, School of Architecture and Planning, Program in Media Arts and Sciences, 2013.Cataloged from PDF version of thesis.Includes bibliographical references (p. 111-114).Modern systems for computer-aided design and manufacturing (CAD/CAM) have a history dating back to drafting boards, early computers, and machine shops with specialized technicians for each stage in a manufacturing workflow. In recent years, personal-scale digital fabrication has challenged many of these workflows' build-in assumptions. A single individual may control the entire workflow, from design to manufacture; they will be using computers that are exponentially more powerful than those in the 1970s; and they may be using a wide variety of tools, machines, and processes. The variety of tools and machines leads to a combinatorial explosion of possible workflows. In addition, tools are based on boundary representations, which are fragile and can easily describe nonsensical objects. This thesis addresses these issues with a set of tools for end-to-end digital fabrication based on volumetric solid models. Workflows are modular, making it easy to add new machines, and a shared core of path-planning operations reduces system complexity. Replacing boundary representations with volumetric representations guarantees that models represent reasonable real-world solids. Adaptively sampled distance fields are used as a generic interchange format. Functional representations are used as a design representation, and we examine scaling behavior and efficient rendering. We present interactive design tools that use these representations as their geometry engine. Data from CT scans is also used to populate these distance fields, showing significant benefits in file size and resolution compared to meshes. Finally, these representations are used as inputs to a modular multimachine CAM workflow. Toolpath generation is implemented, characterized, and tested on a complex solid model. We conclude with a summary of results and recommendations for future research directions.by Matthew Keeter.S.M

    Mesh generation using a correspondence distance field

    Get PDF
    The central tool of this work is a correspondence distance field to discrete surface points embedded within a quadtree data structure. The theory, development, and implementation of the distance field tool are described, and two main applications to two-dimensional mesh generation are presented with extension to three-dimensional capabilities in mind. First is a method for surface-oriented mesh generation from a sufficiently dense set of discrete surface points without connectivity information. Contour levels of distance from the body are specified and correspondences oriented normally to the contours are created. Regions of merging fronts inside and between objects are detected in the correspondence distance field and incorporated automatically. Second, the boundaries in a Voronoi diagram between specified coordinates are detected adaptively and used to make Delaunay tessellation. Tessellation of regions with holes is performed using ghost nodes. Images of meshed for each method are given for a sample set of test cases. Possible extensions, future work, and CFD applications are also discussed

    GPU data structures for graphics and vision

    Get PDF
    Graphics hardware has in recent years become increasingly programmable, and its programming APIs use the stream processor model to expose massive parallelization to the programmer. Unfortunately, the inherent restrictions of the stream processor model, used by the GPU in order to maintain high performance, often pose a problem in porting CPU algorithms for both video and volume processing to graphics hardware. Serial data dependencies which accelerate CPU processing are counterproductive for the data-parallel GPU. This thesis demonstrates new ways for tackling well-known problems of large scale video/volume analysis. In some instances, we enable processing on the restricted hardware model by re-introducing algorithms from early computer graphics research. On other occasions, we use newly discovered, hierarchical data structures to circumvent the random-access read/fixed write restriction that had previously kept sophisticated analysis algorithms from running solely on graphics hardware. For 3D processing, we apply known game graphics concepts such as mip-maps, projective texturing, and dependent texture lookups to show how video/volume processing can benefit algorithmically from being implemented in a graphics API. The novel GPU data structures provide drastically increased processing speed, and lift processing heavy operations to real-time performance levels, paving the way for new and interactive vision/graphics applications.Graphikhardware wurde in den letzen Jahren immer weiter programmierbar. Ihre APIs verwenden das Streamprozessor-Modell, um die massive Parallelisierung auch fĂŒr den Programmierer verfĂŒgbar zu machen. Leider folgen aus dem strikten Streamprozessor-Modell, welches die GPU fĂŒr ihre hohe Rechenleistung benötigt, auch Hindernisse in der Portierung von CPU-Algorithmen zur Video- und Volumenverarbeitung auf die GPU. Serielle DatenabhĂ€ngigkeiten beschleunigen zwar CPU-Verarbeitung, sind aber fĂŒr die daten-parallele GPU kontraproduktiv . Diese Arbeit prĂ€sentiert neue Herangehensweisen fĂŒr bekannte Probleme der Video- und Volumensverarbeitung. Teilweise wird die Verarbeitung mit Hilfe von modifizierten Algorithmen aus der frĂŒhen Computergraphik-Forschung an das beschrĂ€nkte Hardwaremodell angepasst. Anderswo helfen neu entdeckte, hierarchische Datenstrukturen beim Umgang mit den Schreibzugriff-Restriktionen die lange die Portierung von komplexeren Bildanalyseverfahren verhindert hatten. In der 3D-Verarbeitung nutzen wir bekannte Konzepte aus der Computerspielegraphik wie Mipmaps, projektive Texturierung, oder verkettete Texturzugriffe, und zeigen auf welche Vorteile die Video- und Volumenverarbeitung aus hardwarebeschleunigter Graphik-API-Implementation ziehen kann. Die prĂ€sentierten GPU-Datenstrukturen bieten drastisch schnellere Verarbeitung und heben rechenintensive Operationen auf Echtzeit-Niveau. Damit werden neue, interaktive Bildverarbeitungs- und Graphik-Anwendungen möglich

    Ray tracing techniques for computer games and isosurface visualization

    Get PDF
    Ray tracing is a powerful image synthesis technique, that has been used for high-quality offline rendering since decades. In recent years, this technique has become more important for realtime applications, but still plays only a minor role in many areas. Some of the reasons are that ray tracing is compute intensive and has to rely on preprocessed data structures to achieve fast performance. This dissertation investigates methods to broaden the applicability of ray tracing and is divided into two parts. The first part explores the opportunities offered by ray tracing based game technology in the context of current and expected future performance levels. In this regard, novel methods are developed to efficiently support certain kinds of dynamic scenes, while avoiding the burden to fully recompute the required data structures. Furthermore, todays ray tracing performance levels are below what is needed for 3D games. Therefore, the multi-core CPU of the Playstation 3 is investigated, and an optimized ray tracing architecture presented to take steps towards the required performance. In part two, the focus shifts to isosurface raytracing. Isosurfaces are particularly important to understand the distribution of certain values in volumetric data. Since the structure of volumetric data sets is diverse, op- timized algorithms and data structures are developed for rectilinear as well as unstructured data sets which allow for realtime rendering of isosurfaces including advanced shading and visualization effects. This also includes tech- niques for out-of-core and time-varying data sets.Ray-tracing ist ein flexibles Bildgebungsverfahren, das schon seit Jahrzehnten fĂŒr hoch qualitative, aber langsame Bilderzeugung genutzt wird. In den letzten Jahren wurde Ray-tracing auch fĂŒr Echtzeitanwendungen immer interessanter, spielt aber in vielen Anwendungsbereichen noch immer eine untergeordnete Rolle. Einige der GrĂŒnde sind die RechenintensitĂ€t von Ray-tracing sowie die AbhĂ€ngigkeit von vorberechneten Datenstrukturen um hohe Geschwindigkeiten zu erreichen. Diese Dissertation untersucht Methoden um die Anwendbarkeit von Ray-tracing in zwei verschiedenen Bereichen zu erhöhen. Im ersten Teil dieser Dissertation werden die Möglichkeiten, die Ray- tracing basierte Spieletechnologie bietet, im Kontext mit aktueller sowie zukĂŒnftig erwarteten Geschwindigkeiten untersucht. DarĂŒber hinaus werden in diesem Zusammenhang Methoden entwickelt um bestimmte zeitverĂ€nderliche Szenen darstellen zu können ohne die dafĂŒr benötigen Datenstrukturen von Grund auf neu erstellen zu mĂŒssen. Da die Geschwindigkeit von Ray-tracing fĂŒr Spiele bisher nicht ausreichend ist, wird die Mehrkern- CPU der Playstation 3 untersucht, und ein optimiertes Ray-tracing System beschrieben, das Ray-tracing nĂ€her an die benötigte Geschwindigkeit heranbringt. Der zweite Teil beschĂ€ftigt sich mit der Darstellung von IsoflĂ€chen mittels Ray-tracing. IsoflĂ€chen sind insbesonders wichtig um die Verteilung einzelner Werte in volumetrischen DatensĂ€tzen zu verstehen. Da diese DatensĂ€tze verschieden strukturiert sein können, werden fĂŒr gitterförmige und unstrukturierte DatensĂ€tze optimierte Algorithmen und Datenstrukturen entwickelt, die die Echtzeitdarstellung von IsoflĂ€chen erlauben. Dies beinhaltet auch Erweiterungen fĂŒr extrem große und zeitverĂ€nderliche DatensĂ€tze

    Spatial Decompositions for Geometric Interpolation and Efficient Rendering

    Get PDF
    Interpolation is fundamental in many applications that are based on multidimensional scalar or vector fields. In such applications, it is possible to sample points from the field, for example, through the numerical solution of some mathematical model. Because point sampling may be computationally intensive, it is desirable to store samples in a data structure and estimate the values of the field at intermediate points through interpolation. We present methods based on building dynamic spatial data structures in which the samples are computed on-demand, and adaptive strategies are used to avoid oversampling. We first show how to apply this approach to accelerate realistic rendering through ray-tracing. Ray-tracing can be formulated as a sampling and reconstruction problem, where rays in 3-space are modeled as points in a 4-dimensional parameter space. Sample rays are associated with various geometric attributes, which are then used in rendering. We collect and store a relatively sparse set of sampled rays, and use inexpensive interpolation methods to approximate the attribute values for other rays. We present two data structures: (1) the <i>ray interpolant tree (RI-tree)</i>, which is based on a kd-tree-like subdivision of space, and (2) the <i>simplex decomposition tree (SD-tree)</i>, which is based on a hierarchical regular simplicial mesh, and improves the functionality of the RI-tree by guaranteeing continuity. For compact storage as well as efficient neighbor computation in the mesh, we present a pointerless representation of the SD-tree. An essential element of this approach is the development of a location code that enables efficient access and navigation of the data structure. For this purpose we introduce a location code, called an LPTcode, that uniquely encodes the geometry of each simplex of the hierarchy. We present rules to compute the neighbors of a given simplex efficiently through the use of this code. We show how to traverse the associated tree and how to answer point location and interpolation queries. Our algorithms work in arbitrary dimensions. We also demonstrate the use of the SD-tree for rendering atmospheric effects. We present empirical evidence that our methods can produce renderings of good quality significantly faster than simple ray-tracing
    corecore