Project Description

This project was intended to allow users to try out different layouts of a room without having to actually haul around physical furniture.

Features

A user starts with the bare bones of a room. With the provided menu, a basic design feature allows a user to change the wall colors to any one of a variety of choices. The features allowing more control and editing of actual spacial arrangements may also be reached through the main menu. Different pieces of furniture can be selected to be displayed, and their specific placement in the space is determined through user keyboard controls. To implement the movement of objects as directed by the user, I utilized specific matrix transforms (i.e. rotate, scale, translate), while keeping in mind the importance of order to deliver the user's desired result.

Key Bindings

w,a,s,d: control forward, backwards, left, and right movements of the users perspective

i,j,k,l: controls the forwards, backwards, left, and right movements of the currently selected object

r: will rotate the selected object by 90 degrees at a time

Screenshots

Below are some screen shots of a few particular room setups as well as some of the basic menu options that were implemented.