1 / 40

Présentation du projet NanoVoxel

Présentation du projet NanoVoxel. Pierre Planeau Anatole Duprat. Sommaire. I. Introduction Le projet Pourquoi ? II. Démonstration III . Comment ? Les Voxels Spécifications Algorithmes La lumière Le ciel L’eau IV. NanoVoxel Début Actuellement Prochainement V . Questions.

bowie
Download Presentation

Présentation du projet NanoVoxel

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Présentation du projet NanoVoxel Pierre Planeau Anatole Duprat

  2. Sommaire • I. Introduction • Le projet • Pourquoi ? • II. Démonstration • III. Comment ? • Les Voxels • Spécifications • Algorithmes • La lumière • Le ciel • L’eau • IV.NanoVoxel • Début • Actuellement • Prochainement • V. Questions

  3. I. Introduction Le projet Pourquoi ?

  4. Le projet • Jeu 3D basé sur les voxels

  5. Le projet • Inspiré par Minecraft et Cube World Minecraft Cube World

  6. Pourquoi ? • Entrainement et plaisir personnel • Créer une alternative à Minecraft • Dépasser Minecraft et Cube World

  7. II. Démonstration

  8. III. Comment ? Les Voxels Spécifications Algorithmes La lumière Le ciel L’eau

  9. Les Voxels • Un voxel est un pixel dans l’espace • Les voxels sont simples à manipuler et contiennent de l’information utile en une simple valeur Un voxel Plusieurs voxels

  10. Structure • Un Chunk contient des Voxels. • Une Map contient des Chunks. Voxel Chunk Map

  11. Spécifications • Le C++ pour sa rapidité, sa portabilité, sa stabilité et sa large communauté • Le contexte SFML pour sa simplicité et sa compatibilité native avec l’OpenGL • L’OpenGL pour sa portabilité et sa simplicité

  12. Algorithmes • Bruit de Perlin • Terrain • Affichagedes faces • Ambient Occlusion Premier « vrai » rendu

  13. AlgorithmesLe bruit de Perlin

  14. AlgorithmesLe bruit de Perlin

  15. AlgorithmesLe bruit de Perlin

  16. Algorithmes Terrain D = y

  17. Algorithmes Terrain D = y + cos(x)

  18. Algorithmes Terrain D = y + cos( longueur( x, y, z ) )

  19. Algorithmes Terrain D = bruitPerlin(x, y, z)

  20. Algorithmes Terrain D = y + bruitPerlin(x, y, z)

  21. Algorithmes Affichage des faces Répéter pour tous les voxels Si ( voxel actuel = non vide ) alors Si ( voxel suivant = vide ) alors Il faut afficher une face Sinon Pas de face à afficher Fin Si Sinon Pas de face à afficher Fin Si Fin Répéter pour Sens de parcours Affiche

  22. AlgorithmesAmbient Occlusion

  23. AlgorithmesAmbient Occlusion

  24. AlgorithmesAmbient Occlusion

  25. AlgorithmesAmbient Occlusion = ×

  26. La lumière Produit scalaire -1 1 0 0.5

  27. La lumière × = ×

  28. Le ciel Ciel = couleur( 0.5, 0.7, 1.0 )

  29. Le ciel Ciel = mix( couleur( 0.5, 0.7, 1.0 ), couleur( 1.0, 1.0, 1.0), y²)

  30. Le ciel Ciel = mix( couleur( 0.5, 0.7, 1.0 ), couleur( 1.0, 1.0, 1.0), y²) Soleil = couleur( 1.0, 0.5, 0.1 ) / ( 1.0 + distance( point actuel, position soleil ) )10 Soleil + Ciel y x

  31. L’eau

  32. L’eau

  33. L’eau

  34. IV. NanoVoxel Début Actuellement Prochainement

  35. Début • Tout à commencé avec un voxel

  36. Des bugs… épileptiques !

  37. Actuellement • Le jeu charge 1 404 928 voxels et est très fluide • Le projet tient sur 6010 lignes de code • Cela représente environ 3 mois de travail

  38. Prochainement • Restructuration du code • Physique • Génération de villes • Différents types de paysages • Un univers (monstres, PNJ, quêtes, etc.) • Ombres dynamiques • Un mode multi-joueurs • etc

  39. V. Questions

  40. Merci de votre attention !

More Related