Generate a virtual landscapes

Assignment Help Computer Graphics
Reference no: EM132410693

Procedural Landscape Generation -

You will use procedural methods to generate a virtual landscapes. The project can be divided into the following three parts.

- geometry (mesh generation, procedural height generation)

- rendering (terrain shading, texturing)

- animation (camera animation)

Each of these parts are subdivided into basic and advanced tasks.

Geometry

- create a flat (z=0) triangular mesh. Do so using GL_TRIANGLE STRIP, making use of GL_PRIMITIVE RESTART

- implement Perlin noise on the CPU (see noise.h)

- generate a height map texture using fBm (read this tutorial on fractional Brownian motion)

- use the height map texture to displace grid vertices in the vertex shader

Advanced

- implement noise texture generation in the fragment shader

- implement other noise functions to generate terrain (e.g. hybrid multifractal and ridged multifractal)

- instead of generating a plane world, create a spherical world

- create an infinite world (new tiles on demand, requires GPU noise)

- use L-system to add trees to your terrain

- use noise functions to generate clouds (and integrate participating media in fshader)

Rendering

- calculate surface normals, add diffuse and specular shading.

- use the tile-able textures (shown above) to texture your terrain. In the fshader you can use the normal of a fragment (slope of terrain) and its height to decide which textures to blend. For example, snow does not deposit on very steep slopes, and happens only at a certain height. (Download *.png: grass, rock, sand, snow, water)

- implement the skybox texture using OpenGLs cubemap textures. Surround your scene with a cube, and texture this cube to color the sky of your scene. Under Textures folder, you can find miramar_*.png which may be used to create the skybox. You will have to write UV texture coordinates in your C++ code so as to map faces of the cube to the correct portion of the image/texture (reference).

Advanced -

use an OpenGL CubeMap to texture the sky and get rid of artifacts caused by discontinuities in the UV parameterization.

use the normal map texture (water.png) to represent waves. You can overlap multiple scaled copies of this texture and translate them over time to emulate a water effect.

add a mirroring eect to the water; this is achieved by mirroring the camera position with respect to the water plane, render your scene in a framebuffer, and placing the texture back in a second step. You can also simulate refraction by blending the mirrored and non-mirrored images according to the incidence angle of your camera w.r.t. water

simulate the fact that reflections are affected by water movement by distorting the reflected image with a noise function

Animation -

- implement WASD (forward/backward, left/right) camera controls

Advanced

- use a bezier curve to animate the camera path (5%)

- implement a FPS camera, camera height is determined by terrain height (5%)

- use a displacement map to animate waves; the map can be computed numerically as a sum of periodic functions varying over time (10%)

- use particles and billboards to animate 3D snow

Getting Started -

The starter code is filled with TODO comments. The following order of completion is recommended:

- genTerrainMesh() in main.cpp

- drawTerrain() in main.cpp

- lerp(), perlin2D(), and fBm2DTexture in noise.h

- terrain vshader.glsl

- drawSkybox() in main.cpp

- KeyEvent listener callback in main.cpp

- terrain fshader.glsl

Attachment:- Assignment File.rar

Reference no: EM132410693

Questions Cloud

Calculate total revenue from sales in market : Calculate total revenue from sales in this market at QD =2500. Show your work please.
Derive the market demand curve for public good : Derive the market demand curve for this public good. Illustrate it graphically (Hint: the market demand curve is kinked).
How transferable are the research findings : Read a qualitative nursing study. If a different investigator had gone into the field to study the same problem, how likley is it that the conclusions would.
Calculate the optimal number of workers : Assumer that now producers in both sectors behave optimally. Draw a diagram for this economy.
Generate a virtual landscapes : You will use procedural methods to generate a virtual landscapes. The project can be divided into the three parts- geometry, rendering and animation
N4325 nursing research assignment problem : N4325 Nursing Research assignment help and solutions, The University of Texas at Arlington, assessment help - Post your Evidence Based Practice Project.
Correct conventions of standard american english : Use well-structured sentences, audience-appropriate language, and correct conventions of standard American English.
Explain how racial and ethnic diversity in brazilian culture : Explain how racial and ethnic diversity in Brazilian culture differs from that in the United States and how this may affect inequalities in society.
Political leadership and government : Explain how Indians feel about their political leadership and government. Are they trusting and approving of its performance, or not?

Reviews

Write a Review

Computer Graphics Questions & Answers

  Create a simple warm-up program using your g3d

Create a simple warm-up program using your G3D programming and graphics environment.

  Shadow effect while rolling a sphere

Shadow effect while rolling a sphere as well as the options of shading and lighting.

  Relative positioning and interactive positioning

Relative Positioning and Interactive Positioning by Dragging and Clicking and some Simple Animation

  Draw a teapot at the global origin

Draw a teapot at the global origin

  Concepts of computer graphics

Concepts of Computer Graphics and develop a program using OpenGL

  The security policy document outline

Using the GDI Case Study below, complete the Security Policy Document Outline

  Develop the image manipulations

Develop the image manipulations

  What does resolution mean

What does resolution mean How is resolution connected to ppi and dpi units

  Differentiate between a bitmap image and a vector image

Differentiate between a bitmap image and a vector image Explain the following terms

  Essential elements of a design pattern

configuration of an Iterator pattern, patterns could be used in a Library System, Singleton, Template, Decorator, Façade,What does Alexander means by the following declaration "But it is impossible to form anything which has the temperament of natu..

  Framework of user interface design

design of user interfaces, natural mapping, GUI applications, web page design different to designing for printed media, risks exposed in this "phone as individual proxy" approach, interaction designers of ubicomp applications, Storyboards are usual..

  What are the factors affecting picture composition

Define picture composition What are the factors affecting picture composition. Elaborate on each factor Describe the basic lines present in a composition

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd