Giter Site home page Giter Site logo

3dgp-2015-2016's Introduction

3D Graphics Programming (COM2062-N)

Spice My Sponza - ICA1

Result : 90%

ICA Requirements:

  • Create geometry meshes from the Sponza scene data (which contains indexed triangle lists);
  • Draw instances of meshes from the Sponza scene using camera data it contains;
  • Implement the full transformation pipeline (model, view and projection transforms);
  • Shade the scene using the Phong reflection model with the point light data (including distance attenuation) and per-instance material data from the Sponza scene data (including diffuse and specular coefficients from texture maps);
  • Implement a key press feature toggle that additionally draws the surface normal vector at each vertex with emissive shading based upon their world space value (but not affected by the virtual lighting).

Triangulate My Terrain

Result : 74%

You are required to write a C++ application to draw a terrain populated with given objects as detailed below. The application must be written using the given framework available via Blackboard. You must use OpenGL 3.3 and GLSL shaders. You should:

  • Use the provided cubic Bezier patches as the basic shape for the terrain geometry;
  • Apply the provided texture map as a displacement map to the basic terrain above;
  • Apply a noise-like effect to the geometry to make the terrain appear more natural;
  • Make the terrain geometry high-resolution using interpolation / extrapolation as necessary;
  • Generate smoothed vertex normal vectors for the terrain to improve the given shading;
  • Draw the static objects given in the framework initial data at the given locations;
  • Make use of appropriate data structures and algorithms (e.g. regular tiling and/or quadtrees) for visibility determination to limit unnecessary drawing;
  • Add performance measurements and output metrics to report upon the success of the above algorithms and data structures.

3dgp-2015-2016's People

Contributors

freddiebabord avatar

Watchers

 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.