Thèse de doctorat en Mathématiques, informatique et télécommunications
Sous la direction de Jean-Pierre Jessel.
Soutenue en 2014
à Toulouse 3 .
Les logiciels de modélisation géométrique utilisés dans la Conception Assistée par Ordinateur (CAO) servent aujourd'hui à concevoir des objets de toutes sortes, allant de simples lampes de bureau à des avions de lignes entiers. Les modèles de données B-Rep utilisés permettent de définir des formes de manière précise, et de créer des entités géométriques répondant à des critères divers et variés, qu'ils soient esthétiques, qu'ils reposent sur la résistance mécanique, ou encore sur des coûts de production. Au fur et à mesure des opérations de modélisation dans le logiciel de conception (i. E. CATIA, par exemple), les modèles doivent être affichés de la manière la plus fidèle possible à la représentation analytique, telle qu'elle a été explicitement définie par l'opérateur CAO. Les logiciels de modélisation existant discrétisent les formes définies au rythme des opérations de modélisation, et affichent des polygones approximant face par face les objects 3D résultant de cette discrétisation. Des jours ou "cracks" dûs à la tessellation apparaissent avec cette méthode de rendu et sont déplaisant voire gênant pour les opérateurs. Nous proposons dans nos travaux une manière de faire un rendu haute qualité et sans cracks des modèles, sans toucher à leur définition, et en conservant de bonnes performances à l'affichage. Notre méthode peut s'intégrer aux moteurs de rendu existant. Les sessions de modélisation manipulent des objets de petite ou moyenne envergure. Une fois assemblés, les objets définissant de grosses structures comme par exemple des bateaux ou des avions doivent parfois être visualisés dans leur totalité, et toujours avec une grande précision visuelle. C'est le cas par exemple pour les applications de tests statiques où des techniciens déposent sur une maquette virtuelle des capteurs servant à évaluer le comportement mécanique de centaines voire de milliers de parties localisées sur la structure. Ces capteurs, de la taille d'un ongle, sont physiquement placés sur un produit entièrement usiné et assemblé, tel qu'une section entière de fuselage, dans un hangar. La maquette virtuelle doit permettre de visualiser la structure exactement telle qu'elle est, dans ses moindres détails. Pour réaliser le rendu d'une telle quantité de données de manière interactive et ce, sans sacrifier les performances ou la qualité de rendu à fort niveau de zoom, nous nous appuyons sur les méthodes de rendu dites basées découpe. Nous proposons une structure de découpe rapide, avec laquelle le rendu de très grands modèles peut être effectué. Cette structure est associée à des routines de tessellation dédiées pour chaque type de face B-Rep, ce qui nous permet d'afficher en temps-réel une section entière d'un avion de ligne gros porteur, constituté de centaines de milliers de surfaces B-Rep, tessellées puis découpées à la volée.
Interactive GPU rendering of B-Rep models
Modeling software applications dedicated to Computer Aided Design (CAD) are used to design objects of all sorts, ranging from small, simple desktop lamps to entire, complex aircrafts. The B-Rep models used during this design phase allow CAD operators to define shapes in a very precise manner, and create geometric entities meeting various design criteria, whether they are related to aesthetics, mechanical behavior, or production costs. As modeling operations are performed in the CAD software application (eg. CATIA, for instance), models must be rendered with a fidelity and accuracy as high as possible with regards to their analytical definition as it has specifically been defined by the CAD operator. Existing modeling software applications discretize shapes as they are being edited and render polygons approximating 3D objects resulting from this discretization, usually done on a face by face basis. Gaps or "cracks" caused by this tesselation show up with this rendering method and are very annoying for the operators. We propose a method to perform crack-free, high fidelity rendering of B-Rep models, with no model preprocess and with good performance, allowing interaction even for large-scale objects. Our method can easily be integrated into existing engines based on dynamic tesselation. Modeling sessions deal with small or medium scale object parts. Once assembled, these parts form large structures such as boats or aircrafts. These large assemblies may sometimes be interactively visualized as a whole, and once again high precision is strongly desired. Specifically, this is the case for static test applications where technicians place sensors on a virtual model called a Digital Mockup (or DMU) that is used to assess the mechanical strength of thousands of selected locations scattered throughout the model. These nail-sized sensors are then physically placed on a product entirely built and assembled in a hangar, such as an entire aircraft fuselage section. The DMU should represent as faithfully as possible the actual, physical model. For interactive rendering to take place with good frame rates and with high image quality, we rely on a trim-based rendering method with a custom, efficient, multi-resolution trim structure suitable for the rendering of large-scale models. This structure is used in conjunction with dedicated dynamic tesselation GPU routines for common types of B-Rep faces. This combination allows us to render in real-time and on current consumer hardware an entire wide-body aircraft fuselage section composed of hundreds of thousands of B-Rep faces that are dynamically tesselated and trimmed on the fly every time a rendering takes place.