OpenGL 4.0+ ABuffer V2.0: Linked lists of fragment pages

The main problem with my first ABuffer implementation (cf. my previous post) was that a fixed maximum number of fragments per pixel has to be allocated at initialization time. With this approach, the size of the ABuffer can quickly become very large when the screen resolution and depth complexity of the scene increase.



(continue reading…)
more... Comments Off on OpenGL 4.0+ ABuffer V2.0: Linked lists of fragment pages

Fast and Accurate Single-Pass A-Buffer using OpenGL 4.0+

One of the first thing I wanted do try on the GF100 was the new NVIDIA extensions that allows random access read/write and atomic operations into global memory and textures, to implement a fast A-Buffer !

It worked pretty well since it provides something like a 1.5x speedup over the fastest previous approach (at least I know about !), with zero artifact and supporting arbitrary number of layers with a single geometry pass. 



(continue reading…)
more... Comments Off on Fast and Accurate Single-Pass A-Buffer using OpenGL 4.0+

The Froggy FragSniffer

For today GPU generation, we know a lot more about the hardware mechanism than for previous GPU generation, in particular thanks to the window open on this hardware by Cuda. But many hardware details are still hidden to the programmer, in particular mechanisms used for primitives rasterisation and fragments shading. As understanding how fragments are scheduled among the G80 processing units is a critical points for the research we do with Fabrice Neyret as part of my PhD, I wrote a small program allowing to investigate this point.

The probing tool I wrote is called The Froggy FragSniffer and can be downloaded here (see Readme for details):FragSniffer_0.2.zip

We also wrote a document that presents our motivations for this work, the experiments we made yet and the results and answers we get: Understanding G80 behavior

We hope this document will give you useful informations. We don’t want it to be closed and we want to make it evolve through new experiments and also thanks to exterior comments you can leave at the bottom of this page.

more... Comments Off on The Froggy FragSniffer

OpenGL 3D Logo


Here is a simple personal redesign of the OpenGL logo I have made for fun. It can be used as a wallpaper for OpenGL fans (who said the most seriously affected ones ?).
If you have suggestions to complete it don’t hesitate 🙂

NOTE: OpenGLÂź and the oval logo are trademarks or registered trademarks of Silicon Graphics, Inc.

more... 1 Comment

Anim JNM 2007

jnm4
Petite animation que j’ai rĂ©alisĂ© pour les journĂ©es nationales des IUP MIAGE qui se dĂ©roulent cette annĂ©e Ă  OrlĂ©ans. L’idĂ©e Ă©tait de crĂ©er un jingle animĂ© un peu Ă  la façon des transitions de pubs. Un petit coup de main Ă  mes amis du LIFO 🙂

Plus d’infos sur les JNM 2007 ici.

VidĂ©o (DivX 6, 800×600) :

JNM4c.avi


Real-time GPU Ray-Tracer

CornellJungle2

This is the final version of a RayTracer project developed in 2007 with Adeline Pihuit during our master thesis. It is composed of a fast real-time GPU raytracer developed using OpenGL and Cg that can run on a GeForce 6 (NV40, SM3.0) class GPU, and an off-line CPU recursive raytracer that can be used to compute reference images.

The application load scenes described in XML files and allows manipulating light sources and debugging individual rays.

Keys:

  • Load a scene (.scn) file : ‘l’
  • Manipulate light source : ‘3’ to select the light to manipulate, then CTRL+RIGHT-CLICK to move the light
  • Display helpers (lights, cameras, paths…): ‘7’
  • Render static image with CPU ray-tracer: ‘d’
  • For other keys, display the help window: ‘h’

(continue reading…)


OpenGL Geometry Shader Marching Cubes

geomshadertut1

Two months ago was introduced the G80 and the set of OpenGL extensions allowing access to all of its new functionalities (cf. my posts on G80 architecture and OpenGL extensions, it is in French but can be translated with the British flag button on top left. You can also refer to http://www.g-truc.net/ that also provides a good analysis on G80 OpenGL extensions in french). Among them are GPU Shaders model 4 and the new Geometry Shader they introduce.

For the first time, on-GPU dynamic generation of geometric primitives becomes possible.  But till now, very few examples and tutorials on theses functionalities are available. The only tutorial I have been able to find is the one from Xie Yongming, it’s a good start but unfortunately its source code is unavailable.

This simple example will show how to use GLSL Geometry Shaders (EXT_geometry_shader4 and EXT_gpu_shader4) and the new integer texture formats (EXT_texture_integer) extensions to implement the Marching Cubes algorithm entirely on the GPU. The implementation I will present is probably not the most efficient but I think it is a good example, showing the usage of the new shader stage, new texture formats and binary operations within shader.

(continue reading…)


Automates Cellulaires

shot_wincdlmqt
C’est un projet rĂ©alisĂ© en fin de premiĂšre annĂ©e d’IUT sur lequel je suis retombĂ© rĂ©cemment. Il s’agissait Ă  la base d’implĂ©menter une sĂ©rie d’automates cellulaires en C++ et QT. J’avais en fait dĂ©veloppĂ© tout un framework de simulation et d’interfaces graphiques gĂ©nĂ©riques et multi-plateforme que j’avais utilisĂ© pour implĂ©menter 4 automates cellulaires diffĂ©rents dont une simulation d’Ă©cho-systĂšme Herbe/ Lapins/ Renards assez intĂ©ressante.

 

 

(continue reading…)


Raytracer GPU

gpurt5
Projet de moteur de rendu par lancer de rayons totalement GPU que je suis en train de dĂ©velopper. L’ensemble de la simulation est effectuĂ©e dans un programme de traitement de fragments.

Voici un exemple de rendu obtenu sur une scene composĂ©e de 4 sphĂšres Ă  une vitesse de presque 100 FPS avec 3 niveaux de rĂ©cursivitĂ©s pour le calcul des rĂ©flections, un calcul d’ombres et un Ă©clairage de Phong.

Cette démo nécessite une GeForce 6 minimum.

(continue reading…)


Tri Parallele FlowVR

capturepsfvr1
Petite application Ă©ducative rĂ©alisĂ©e pour le LIFO Ă  l’occasion de la fĂȘte de la science 2006. Il s’agissait de montrer aux plus jeunes l’intĂ©ret de la distribution de calculs sur une grappe de PC pour d’une application 3D interactive. La mise en oeuvre d’un tri parallĂšle est illustrĂ©e au travers du classement de composants chimiques prĂ©sents dans une solution.

L’application a Ă©tĂ© rĂ©alisĂ©e en collaboration avec Sylvain Jubertie et utilise la bibliothĂšque FlowVR dĂ©veloppĂ©e par le LIFO et le laboratoire ID de l’IMAG (INRIA)

Package source de l’application (nĂ©cessite FlowVR, CG 1.5 et glew):
tgz parallelsortfvr5 15/10/2006,11:13 681.00 Kb

more... Comments Off on Tri Parallele FlowVR

Stage ST50: Dassault Systemes

logo3ds_simple_big.png

J’ai effectuĂ© mon stage de fin d’Ă©tudes d’ingĂ©nieur Ă  Dassault Systemes, dans le service recherche et innovation sur un sujet mĂȘlant simulation et visualisation 3D temps rĂ©el. Je ne peux malheureusement pas donnĂ© plus de dĂ©tail ni mettre ici des images pour des raisons de politique interne de l’entreprise. Sachez en tout cas que ca a Ă©tĂ© une trĂšs bonne expĂ©rience et que j’y ai fait des choses bien sympa dans le domaine de l’animation de phĂ©nomĂšnes fluides 😉

« Animation Temps Réel de PhénomÚnes Fluides Basée sur une Technologie GPGPU ».

more... 1 Comment

Moteur 3D pour plateforme de Réalité Virtuelle

sallerv.png
Le laboratoire SeT (SystĂšmes et Transports) de l’UTBM dispose d’une plateforme de rĂ©alitĂ© virtuelle composĂ©e d’un Ă©cran pour la vision stĂ©rĂ©oscopique ainsi que d’un systĂšme de pĂ©riphĂ©riques de tracking pour le dĂ©placement et les interactions dans l’environnement. Cette plate forme est utilisĂ©e comme outil d’aide Ă  la dĂ©cision, d’amĂ©nagement du territoire ou encore de simulation de systĂšmes de transport ou de flux d’individus. Ces applications sont actuellement dĂ©veloppĂ©es et mises en oeuvre sur la plateforme Ă  l’aide de Virtools.

(continue reading…)

more... Comments Off on Moteur 3D pour plateforme de Réalité Virtuelle

Stage ST40: CEA-DAM

cealogo.png

J’ai effectuĂ© mon stage de deuxiĂšme annĂ©e d”ingĂ©nieur (ST40 dans le jargon UTBM) au CEA-DAM de Bruyeres le chatel sur un sujet de visualisation scientifique et de parallĂ©lisme.

« Rendu volumique accĂ©lĂ©rĂ© matĂ©riellement en environnement parallĂšle Ă  mĂ©moire distribuĂ©e Â».

(continue reading…)

more... Comments Off on Stage ST40: CEA-DAM

Correspondance images stéréoscopiques multi-agents (IA54-IN54)

scr1.png
Nous avons menĂ© ce projet dans le cadre des UV IA54 (SystĂšmes multi-agents) et IN54 (Reconnaissance de formes) de l’UTBM. Il s’inscrit dans l’optique de ces cours et des recherches menĂ©es dans le laboratoire SeT de l’Ă©cole concernant la dĂ©tection d’obstacles Ă  l’avant d’un vĂ©hicule intelligent par vision stĂ©rĂ©oscopique. Notre travail s’est focalisĂ© plus particuliĂšrement sur l’algorithme de mise en correspondance au coeur de la vision stĂ©rĂ©oscopique permettant de reconstituer la profondeur d’une scĂšne observĂ©e. En liaison avec le cours d’IA54, notre travail a consistĂ© Ă  concevoir, dĂ©velopper et expĂ©rimenter une approche nouvelle de ce problĂšme basĂ©e sur une mĂ©thode multi-agents couplĂ©e Ă  un pipeline de traitement d’images GPU.

(continue reading…)

more... Comments Off on Correspondance images stéréoscopiques multi-agents (IA54-IN54)

Stage IUT: LIFO

lifologo.jpg

Dans le cadre de l’obtention du DUT Informatique, les Ă©tudiants doivent effectuer un stage d’une durĂ©e de 9 semaines afin de mettre en pratique les compĂ©tences acquises au cours des deux ans de formation Ă  l’IUT. J’ai effectuĂ© ce stage au LIFO, le Laboratoire d’Informatique Fondamentale d’OrlĂ©ans, oĂč j’ai intĂ©grĂ© l’Ă©quipe de recherche sur la RĂ©alitĂ© Virtuelle.

« DĂ©veloppement d’un dĂ©monstrateur de RĂ©alitĂ© Virtuelle sur cluster de PC ».

(continue reading…)


Visualisation 3D de terrains (IN55)

scr5b.pngL’objectif global de ce projet Ă©tait de mettre en oeuvre une visualisation de terrains dĂ©finis Ă  partir de cartes de hauteur (height map). Il s’agit en effet du moyen le plus courant pour dĂ©finir un terrain gĂ©ographique. Le but Ă©tait de pouvoir rĂ©aliser cette visualisation en temps rĂ©el sur de vastes Ă©tendues de terrain extrĂȘmement dĂ©taillĂ©es.

La technique que nous avons adoptĂ©e et mise en oeuvre dans ce projet s’appelle “Geometrical Mipmapping” et a Ă©tĂ© introduite en 2000 par Willem H. Boer [DeBoer00]. Nous avons adaptĂ© cette technique pour en rĂ©aliser une mise en oeuvre optimale et totalement accĂ©lĂ©rĂ©e sur matĂ©riel graphique. Nous avons Ă©galement dĂ©veloppĂ© un mĂ©canisme efficace de partitionnement de l’espace et de chargement dynamique de donnĂ©es et avons Ă©galement Ă©tendu l’algorithme avec un mĂ©canisme de GĂ©omorphing matĂ©riel.

(continue reading…)

more... Comments Off on Visualisation 3D de terrains (IN55)

TicTacToe 3D (LO52)

scr1b.pngIl s’agit du projet d’application d’une UV de 2iĂšme annĂ©e sur les systĂšmes embarquĂ©s et temps rĂ©els. Le but Ă©tait de rĂ©aliser un jeu du Tic Tac Toe (morpion) sur plateforme mobile J2ME permettant Ă  2 joueurs de s’afronter via une communication Bluetooth. Nous avons fait le choix avec BĂ©atrice Frey de le faire en 3D via l’API mobile 3D.

Rapport de projet:

Rapport LO52 Frey Crassin.pdf Rapport LO52 Frey Crassin.pdf (527.20 KB)

Package contenant les sources du projet:

zip Projet LO52 Frey Crassin 27/12/2006,16:18 1.58 Mb

more... Comments Off on TicTacToe 3D (LO52)

Simulation 3D de transport urbain (TX)

tcsp.jpgLes TX sont des UVs spĂ©ciales Ă  l’UTBM, elles consistent en la rĂ©alisation d’un projet d’envergure au sein d’un laboratoire de recherche de l’Ă©cole. Cette TX s’inscrivait dans un vaste projet de simulation de transport hurbain destinĂ© Ă  permetre la visualisation et l’estimation de l’impact de l’implantation d’un transport en commun en site propre dans la rĂ©gion de MontbĂ©liard. Ce travail a Ă©tĂ© rĂ©alisĂ© avec Sylvain Juge au sein du laboratoire SeT et nous avons mis en oeuvre une simulation de flux de vĂ©hicules destinĂ©e Ă  ĂȘtre intĂ©grĂ©e dans une simulation 3D temps rĂ©el.

Rapport de projet:

TX TCSP.pdf TX TCSP.pdf (294.96 KB)

more... Comments Off on Simulation 3D de transport urbain (TX)

Pavage du Plan (AG41)

scr1.jpgLe but de ce projet Ă©tait de mettre en application le cours d’optimisation et de recherche opĂ©rationnelle en crĂ©ant un programme permettant la rĂ©solution du problĂšme de pavage du plan, en utilisant un algorithme gĂ©nĂ©tique (ou Ă©volutionniste).

Projet réalisé avec deux autres étudiants : Sylvain Juge et Régis Vogel.

Rapport de projet:

Rapport projet AG41b.pdf Rapport projet AG41b.pdf (361.48 KB)

more... Comments Off on Pavage du Plan (AG41)

Simulation 3D de fourmis (LO43)

scr6.jpgL’objectif de ce projet Ă©tait de simuler le comportement d’un ensemble de fourmis dans un contexte compĂ©titif sur un terrain parsemĂ© de nourriture et d’obstacles. Le but principal Ă©tait de concevoir une architecture objet propre et suffisament abstraite pour ĂȘtre rĂ©utilisable dans des projets futurs. Il a Ă©tĂ© rĂ©alisĂ© en Java avec affichage 3D OpenGL via l’API GL4JAVA.

Projet réalisé avec Béatrice Frey.

Rapport de projet:

Rapport LO43 Frey Crassin.pdf Rapport LO43 Frey Crassin.pdf (1.63 MB)

more... Comments Off on Simulation 3D de fourmis (LO43)

Labyrinthe 3D (LO42)

laby9b.jpgProjet d’application d’une UV sur les structures de donnĂ©es et TDA. Le but Ă©tait de mettre en oeuvre un algorithme de recherche de chemin optimal dans un labyrinthe en 3D. Il a Ă©tĂ© rĂ©alisĂ© en Java avec reprĂ©sentation graphique en Java 3D.

Ce projet a Ă©tĂ© menĂ© avec BĂ©atrice Frey, une autre Ă©tudiante de l’UTBM.

Rapport de projet:

Rapport LO42 Frey_Crassin.pdf Rapport LO42 Frey_Crassin.pdf (405.43 KB)

more... Comments Off on Labyrinthe 3D (LO42)

Quaternions (IA41)

shot4b.jpgIl s’agit du projet d’application du cours de LISP de l’UV d’Intelligence artificielle de 1ere annĂ©e. Le but Ă©tait de montrer l’usage et les interets de l’utilisation des Quaternions dans un programme en langage LISP. Nous avons fait le choix de montrer les principales applications en infographie pour la manipulation de rotations dans l’espace en couplant LISP et C++ dans 2 programmes utilisant OpenGL pour le rendu graphique.

Le 1er programme permet de comparer l’utilisation des quaternions et des angles d’Euler pour la manipulation d’objets dans l’espace (Ă©limination du gimbal lock) et le second montre l’avantage des quaternions dans les interpolations de rotation.

Les deux programmes écris en C++ font appel à un noyau de calcul sur les quaternions écrit en LISP via une interface FFI (Foreign Function Interface) proposé par le Common LISP.

Ce projet a Ă©tĂ© rĂ©alisĂ© avec BĂ©atrice Frey une autre Ă©tudiante de l’UTBM.

Rapport de projet:

Rapport IA41d.pdf Rapport IA41d.pdf (1.07 MB)

more... Comments Off on Quaternions (IA41)

Présentation multimédia du corps humain (IN42)

scr1_1.jpgIl s’agit d’un projet rĂ©alisĂ© en flash et director dans le cadre d’une UV de multimĂ©dia de 1Ăšre annĂ©es d’ingĂ©nieur. Ce projet a Ă©tĂ© rĂ©alisĂ© avec CĂ©line Kapler.

Rapport de projet:

rapport IN42b.pdf rapport IN42b.pdf (5.12 MB)

more... Comments Off on Présentation multimédia du corps humain (IN42)

Rendu de Fractales 3D

volfract1DĂ©mo de calcul et de visualisation de fractales 3D gĂ©nĂ©rĂ©es Ă  partir de Quaternions. Cette dĂ©mo utilise un moteur de rendu volumique temps rĂ©el que j’ai dĂ©veloppĂ©. Elle nĂ©cessite une carte 3D compatible avec les shaders 1.3 (GeForce 3).

Executable:

zip fractal3d 10/09/2006,15:49 706.78 Kb

Code source (Under GPL license):

zip VolRenderFractal.zip

 

 

more... 1 Comment

Rendu de pelage

DĂ©mo OpenGL + Cg d’une mĂ©thode temps rĂ©el de rendu de pelage.
lapin

Le principe de cette mĂ©thode est de simuler l’interaction du pelage avec la lumiĂšre sur une succession de couches accumulĂ©es autour de l’objet Ă  habiller. Les couches sont gĂ©nĂ©rĂ©es par projection du maillage Ă  habiller le long de ses normales dans un vertex program.

Le pelage est crĂ©Ă© de maniĂšre procĂ©durale sur une texture 2D reprĂ©sentant un champ de hauteur (points alĂ©atoires denses + lissage). Cette texture est ensuite utilisĂ©e pour chaque couche dans un fragment program afin dĂ©terminer ou non la prĂ©sence d’un poil en fonction de la hauteur (distance au modĂšle) de la couche courante.  Le couleur finale de chaque fragment est ainsi gĂ©nĂ©rĂ©e Ă  partir de la couleur globale du pelage.

La dĂ©mo effectue Ă©galement l’animation par key-frames d’un modĂšle MD3 avec interpolation des mouvements dans le vertex program.

(continue reading…)


Simulation de fluides

fluid6.jpg
Simulation de fluides "physically based" (équations de Navier-Stockes) basée sur le travail de Jos Stam réalisée en collaboration avec Sylvain Jubertie. Visualisation OpenGL basée sur des point sprites.

Démo:

Fluid.zip Fluid.zip (270.76 KB) 

more... Comments Off on Simulation de fluides

Rendus Virtual Dog

Chien virtuel rĂ©alisĂ© pour un projet de prĂ©sentation de l’IUT.

Rendus_VirtDog
MGM Thumb MGM Thumb
MGM Thumb MGM Thumb
MGM Thumb MGM Thumb
MGM Thumb MGM Thumb
MGM Thumb MGM Thumb
MGM Thumb MGM Thumb
more... 1 Comment

Rendus Egypte

Quelques rendus sur le thĂšme de l’égypte antique.

Rendus_Egypte
MGM Thumb MGM Thumb
MGM Thumb MGM Thumb
MGM Thumb MGM Thumb
MGM Thumb MGM Thumb
MGM Thumb MGM Thumb
MGM Thumb MGM Thumb

Rendus Cité Antique

Rendus sur le thême d’une cité antique imaginaire.

Rendus_City
MGM Thumb MGM Thumb
MGM Thumb MGM Thumb
MGM Thumb MGM Thumb
more... Comments Off on Rendus Cité Antique

Rendus Divers

Rendus sur divers thĂȘmes.

Rendus_Divers
MGM Thumb MGM Thumb
MGM Thumb MGM Thumb
MGM Thumb MGM Thumb
MGM Thumb
more... Comments Off on Rendus Divers

Rendus Rue SF

Divers thĂȘmes de science fiction.

Rendus_RueSF
MGM Thumb MGM Thumb
MGM Thumb MGM Thumb
MGM Thumb MGM Thumb
more... 1 Comment

Rendus Bateau Dirigeable

Bateau dirigeable volant.

Rendus_BatDir
MGM Thumb MGM Thumb
MGM Thumb MGM Thumb
more... 1 Comment

Copyright © 2006-2012 Icare3D. All rights reserved.
Icare3D 2.0 theme, based on Jarrah theme by Templates Next | Powered by WordPress