Coder Social home page Coder Social logo

kjottbasaren's Introduction

Kjøttbasaren

A simple 3D scene of Bergen, Norway and the Kjøttbasaren with manual and automatic navigation and various shading effects. Starting takes some time due to the large terrain file.

Developed by Sören Henning and Zach Litzinger

Features

  • 3D Terrain of the city Bergen
  • Model of the Kjøttbasaren building
  • Manual navigaton in x, y and z direction
  • Automatic navigation using composite Bezier curves
  • Horizontal and vertical rotation
  • Directional sunlight (on/off switch, night mode)
  • Headlight on top of the camera, point light with decreasing intensity (on/off switch)
  • Perspective and orthographic projection
  • Per fragment shading with various effects (fog, black and white, linocut (similiar to toon), noise, vignette, normal highlighting, terrain colors per height)
  • Adjustable mix of material properties and textures
  • Objects imported as .obj files
  • Textures and material properties imported from .mtl files
  • Skybox included

Navigation

Mouse

Dragging with left mouse button: Rotating

Dragging with middle mouse button: Zooming in and out

Dragging with right mouse button: Move forward, right, left and backwards

Keyboard

w, s: Move forward and backwards (in viewing direction)

a, d: Move left and right

c, space: Move up and down

m, n: Decrease or increase field of view

b: Toggle projection between orthographic and perspective

r: Reset camera

v: Toggle automatic camera movement

i: Print info about current camera status

k: Change texture intensity (0% - 100%)

y: Toggle sunlight (night mode)

x :Toggle headlight

1: Switch to realistic shading (per fragment illumination)

2: Switch to foggy shading (per fragment illumination)

3: Switch to black and white shading (per fragment illumination)

4: Switch to linocut shading (per fragment illumination)

5: Switch to noise shading (per fragment illumination)

6: Switch to vignette shading (per fragment illumination)

7: Switch to normal highlight shading (face normals are mapped to colors, useful for debugging) (per fragment illumination)

8: Switch to terrain height colors shading (per fragment illumination)

l: Reload shaders

p: Set drawing to wireframes

o: Set drawing to solid faces

q: Quit

Building it

  • Visual Studio 2017 solution included
  • Important: Project has to be compiled for x64 to load all objects properly
  • FreeGLUT and Glew for Windows included
  • Terrain Importer (transform to .obj file) located in terrain-importer/main.kt

kjottbasaren's People

Contributors

litzingr avatar soerenhenning avatar

Watchers

 avatar  avatar  avatar

kjottbasaren's Issues

Model Camera as own class

Convert the Camera struct to a class containing methods for navigation, getting the transformation matrix and printing the current state.

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.