GithubHelp home page GithubHelp logo

krenodeno / procedurallygeneratedlandscape Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 4.97 MB

School project. Based on Perlin Noise to create realistic landscapes.

Shell 0.05% C 1.45% C++ 96.94% Lua 1.55%
cpp perlin-noise

procedurallygeneratedlandscape's Introduction

Projet de modélisation "Jeux-vidéos"

Le projet à pour but de nous familiariser avec différentes techniques de génération procédurale et de simulation d'environnement naturel. Le terrain est généré à l'aide d'une somme de bruits de Perlin "ridgés". Ensuite une érosion est appliquée pour creuser le terrain et par la même occasion créer une couche de sédiments. On peut ensuite générer de la végétation sur différents critères comme l'épaisseur de sédiments disponibles et la pente. Une simulation du cycle de vie de la végétation peut ensuite être appliquée, mettant en compétition les individus.

Exemple d'exécution

Le programme se lance en ligne de commande: ./ANewWorld Par défaut, le programme se lance comme si on lui passait ces paramètres: ./ANewWorld 70 100 40 7 100 "out.obj" -e 10 -v 1 Les paramètres sont les suivants dans l'ordre:

  • Longueur d'onde de base
  • La taille des côté du terrain
  • La hauteur max du terrain
  • Nombre d'octaves du Perlin Noise
  • Nombre de cellules par côté (soit n*n cellules au total)
  • Le nom du fichier exporté de base avant érosion
  • -e suivie du nombre d'itérations d'érosion
  • -v suivie du nombre d'itérations de simulation de végétation

How to build

Le projet a été réalisé sous Linux, il est possible que le projet ne compile pas sous Windows. Pour compiler, il faut générer les projets pour votre environnement de développement. Pour cela nous utilisons premake5. Pour générer un Makefile: ./premake5 gmake2 Puis compiler avec make: make -C build Les binaires se trouvent dans build/bin/.

Dépendances

Nous utilisons la librairie FastNoiseSIMD pour la génération du bruit de Perlin. Elle est intégrée dans le dépôt. Nous utilisons également SDL2 pour lire des images et FreeImage pour les sauvegarder depuis/vers le disque. Il vous faut installer SDL2 et SDL2image sur votre système. Reportez-vous au dépôts de votre distribution Linux.

procedurallygeneratedlandscape's People

Contributors

krenodeno avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.