Me contacter

Mon  profil linkedin Mon  profil Viadeo Me contacter par mail RSS du site

menu

Catégories

Archives

Mots clés

Derniers articles

Derniers commentaires

Bienvenue sur mon site personnel.

Vous trouverez au travers des pages de ce site des informations sur moi-même ainsi que sur mes réalisations dans la programmation 3D et la conception de jeux vidéo. Qu’elles soient réalisées dans un cadre professionnel, personnel ou lors de mes études.

Surfaces Implicites

Rédigé par Jérémy Masclaux - 27 décembre 2011

Résultats :



Début de réalisation : 3 Octobre 2011
Durée de réalisation : 2 semaines

Environnement : Visual Studio 2010 - Maya 2011 (Shoot)
Langage : C++
Librairies Externes : OpenGL

Description :
Implémentation des squelettes boîte, segment, point, bulle (creux), sphère (plein), cylindre, tore et disque.
Les scènes ont été créées à l'aide des opérateurs d'union et d'intersection ainsi que des algorithmes de croissance et d'érosion.
Les shoots ont été réalisés sous Maya 2011 avec des scènes au format ".obj".
 

Classé dans : Travaux - Mots clés : Surfaces Implicites -

Lancer de Rayon

Rédigé par Jérémy Masclaux - 18 décembre 2011

Résultats :



Début de réalisation : 19 Septembre 2011
Durée de réalisation : 2 semaines

Environnement : Visual Studio 2010
Langage : C++
Librairies Externes : Aucunes

Description :
Implémentation des formes boîtes, cylindre et sphère ainsi que les opérateurs d'union, d'intersection et de différence.
Les scènes ont été créées à l'aide d'une structure d'arbre csg.
 

Classé dans : Travaux - Mots clés : Lancer de Rayon, c++ -

Génération procédurale de cité

Rédigé par Jérémy Masclaux - 08 janvier 2010

Réalisé dans le cadre de ma première année de master informatique l’objectif de ce projet était de modéliser des villes de grande taille. 

Subdivision de quartiers. 

La subdivision de quartier corresponds à la première étape du projet l’objectif, découper notre espace afin d’avoir un certain nombre d’arrondissement et de quartier cohérents. Pour cela nous avons mis en place une grammaire de subdivision basée sur l’aire d’une zone. 

Grammaire de subdivision. 

Première étape de notre subdivision consiste à découper notre zone maîtresse (aire totale de ville avant traitements) à un ensemble de carrés correspondants aux formes brutes de nos arrondissements pour cela nous avons trois types de découpe ayant chacune la probabilité d’un tiers. 

 

 

Grammaire de fin de subdivision (si l’air le permet). 

Après notre première découpe de quartiers et si nos quartiers sont encore trop grands nous introduisons une dernière découpe finale. 

 

 

 

Répartition des quartiers 

Pour qu’une ville soit cohérente, nous nous devions d’attribuer plusieurs types de quartiers. C’est ainsi que notre ville comporte trois types de quartiers : les quartiers « chic » et d’affaire, les quartiers de classe moyenne et les quartiers populaires. 

Nous sommes partis du principe que plus on est proche du centre, plus les quartiers sont des quartiers chic ou d’affaire. Plus on est loin, plus on trouve des quartiers populaires. Entre les deux se situent les quartiers de classe moyennes. 

Découpage des quartiers 2D. 

Nous avons rajouté un pourcentage faible dit de transition. C’est-à-dire que nous pouvons avoir un quartier populaire qui se forme à la place d’un quartier moyen et un quartier moyen a la place d’un quartier chic. 

Découpages des pâtés de maisons. 

Cette étape consiste à découper les quartiers ci-dessus en vue d’y placer des bâtiments pour cela nous avons un ensemble de sept découpages :


Quatre découpages en quadrilatère :

 

 

Trois découpages en triangle : 

    

 

Chaque découpage peut prendre en compte la taille minimale d’un bâtiment et la longueur minimale d’un côté du bâtiment ainsi que leurs nombres déterminés de manière aléatoire. Concernant la grammaire de découpage, un quadrilatère peut être subdivisé en deux triangles et deux carrés. Un découpage triangulaire peut se subdiviser en carré. 

 

Génération d’immeubles. 

La dernière étape de ce projet consiste à modeler différents types d’immeubles pour nos quartiers. Selon le type de quartiers, nous avons décidé d’accorder un taux d’habitation et un taux de commerce. C’est-à-dire queplus nous sommes près du centre plus il y aura des centres commerciaux et des bureaux. Chaque bâtiment possède une grammaire permettant de générer des bâtiments différents que ce soit au niveau du type de toit, des écarts entre les fenêtres ou du nombre d’étages. 

 

Les quartiers chic / d’affaires

Tours :

  •  15% de chance d’apparition pour chaque tour
  •  Possibilité de 6 à 25 faces pour les tours rondes
  •  Nombre d’étages aléatoires entre 15 et 35 étages

 Centre commercial :

  •   15% de chance d’apparition

Résidence :

  •  40% de chance d’apparition
  •  Nombres d’étages entre 2 et 5
  •  25% de chance d’avoir une jointure entre étages
  •  Toiture à 25% de chance d’être de type moderne, sinon classique 

 

 

Quartier moyen et populaire : 

Quartier moyen :

 85% d’habitations :

  •  2 à 8 étages
  •  15% de jointures entre 2 bâtiments
  •   Toits 25% modernes, 25% classiques le restant en toits semi-modernes

15% d’habitation avec commerce :

  • 2 à 5 étages
  • 25% de jointures entre 2 bâtiments
  • 25% de toits modernes
  • Le restant en toits classique

 

Quartier populaire :

 

  •  80% d’immeubles
  • 10% Bâtiments double (5 à 10 étages)
  • 60% Petit HLM (2 à 8 étages)
    • 25% de jointures entre 2 bâtiments
  • 30% Grand HLM (5 à 15 étages)


19% D’habitation :

 

  •  Maison de 1 à 2 étages

1% Super marché

 

 

Rendu final effectué avec le logiciel Maya 2011

 Pour effectuer des rendus sous le logiciel maya nous avons dû créer un export au format OBJ de notre ville.

 

Sur cette image nous nous plaçons à l’extrémité de notre ville dans un quartier populaire. Nous y voyons les différents types de bâtiments associés à ce quartier ainsi qu’au loin le centre de la ville contenant des tours. 

 


 

 

Classé dans : Travaux - Mots clés : Génération procédurale -

Création d’une scène graphique en OpenGL

Rédigé par Jérémy Masclaux - 08 janvier 2009

Ce projet réalisé en C++ et OpenGL consistait à créer une scène animée en utilisant les formes de bases en OpenGL.

Création des formes de bases. 

Les premières étapes consistèrent à développer ces formes de bases (cylindre, un cône, sphère) sans utiliser de librairies annexes telles que Gut. Cette étape nous a permis d’analyser le fonctionnement d’OpenGL lors de la  création de faces.

Figure : Les formes de bases 

C’est à partir de ces formes primitives que nous avons pu créer des objets un peu plus complexes. 

Un avion et un hélicoptère animés. 

Lors de cette étape J'ai créé à partir de formes simples deux objets plus compliqués un avion et un hélicoptère. 

 

 

Figure :  vue de loin de la scène 

Ces deux véhicules sont animés l’avion fait le tour de la scène et l’hélicoptère reste en vol stationnaire de plus, les hélices sont animées. 

Texturing

Lors de ce projet, nous nous sommes appliqués à utiliser le texturing. Par exemple, les objets volants sont composés de trois textures une pour le cockpit, une pour la carlingue et la dernière pour les hélices. 

 

 

Figure :  Aperçu des textures des objets volants

Concernant les arbres, nous avons décidé d’utiliser des « billboard » c’est-à-dire des arbres en 2D uniquement composé de deux faces texturées avec une image d’arbre transparente. Cette technique possède l’avantage d’être plus économes que de modéliser.

 

Billboard objet 2d centré face à la caméra

 

Skybox et Relief 

Pour agrémenter notre scène d’un paysage nous avons une Skybox c'est-à-dire entourer notre scène d’un cube et de texturé ses faces intérieures par une texture cube map. Cette technique donne un effet de profondeur à une scène.  

 

 

Texture de la Skybox, une texture Cubemap 

 

Concernant le relief de notre scène nous avons utilisé une image de niveau de gris plus la couleur est claire (c’est-à-dire proche de 255) plus nous aurons un relief élevé. Couplé à la même texture en couleur nous avons pu rapidement mettre en place un relief sur notre scène. 

 

    

Image en niveaux de gris représentant le relief, la même texture en couleur et le résultat final. 

Ce projet fut très intéressant, car il nous a permis d’avoir un aperçu des possibilités d’OpenGL tout en acquérant certaines techniques de bases utilisées dans les jeux vidéo tels que les billboard, cubemap ou les cartes de niveaux de gris. 

Classé dans : Travaux - Mots clés : OpenGL, c++ -

Fil Rss des articles de cette catégorie

précédente page 2 sur 2

Jérémy Masclaux Video game developer - Généré par PluXml en 0.025s Administration - Haut de page