GithubHelp home page GithubHelp logo

mortiniera / world-generation-project Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 36.7 MB

World Generation computer graphics project using with basic features such as terrain generation, infinite heightmap, texture mapping, sky and water modelling, reflection and refraction plus optional camera mode implementations like bezier curves, FPS and fly through mode.

License: GNU General Public License v3.0

CMake 2.05% C++ 31.16% C 64.11% GLSL 2.68%

world-generation-project's Introduction

second_screen# Computer-

World Generation - Graphics Software Project

Authors : Thevoz Melik, Wagner Patrik, Mortiniera Thevie

Main Features :

  • Feature 1 : Terrain Generation ( generate a heightmap for a terrain on the GPU, and then render it)

  • Feature 2 : Texturing, Sky modelling, Water modeling, Reflection/Refraction

  • Feature 3 : Basic camera control (Fly through mode, First-person-shooting mode, Bezier Curves to control camera paths)

    Extra Features :

  • Water reflection : We flipped the camera along the horizontal plane to get a mirrored texture of the terrain and the sky that we use to texture the water by mixing it with a phong shading.

  • Wave like animation : We use our perlin noise implementation to simulate waves that move according to the time.

  • Infinite map : We build a big grid, each time we arrive to a limit close to the borders of this grid, we regenerate a new grid at this position. In our first implementation, we had an array with multiple grids to give the impression of an infinite size.

  • Day/Sunset/Night : We can switch between three different day times by using the keyboard.

  • Texture mixing : We mix our different textures in proportions depending on the height/normals to get a smoother transition between the layers and a more natural general feel.

Some Screenshots (Video demo can be found in the foloder Reports) first_screen third_screen

Work split

  • Patrik took care of the Bezier algorithms implementation, and everything related to the camera and infinite map.
  • Melik and Thevie took care of the texturing (including the sky box) and the water (reflection) implementation
  • The rest of the work (Perlin, ...) and most of the debugging was done all together.

External code references :

Setup :

  • OpenGL/C++

world-generation-project's People

Contributors

mortiniera avatar

Watchers

 avatar  avatar  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.