Games of yesterday often had graphics that were flat and two-dimensional. This was because the
hardware was either too expensive for many people to own or the technology didn’t exist that could
process the required calculations fast enough. Unlike the times gone by, 3D games are ubiquitous
today and 3D applications can even now be found on cellphones
([login to view URL] and [login to view URL]
R1/gamedeck/ngage_qd/techspex/[login to view URL]).
In the last program you developed the game breakout where the all of the elements were twodimensional.
For the final project, you will create a program that displays 3D information. You will
create two cubes in 3D space, rotate them based on user input, map their projection to the 2D system
of the screen, and finally save a screen shot of the rotated cubes just as the program exits.
Here is a breakdown of what you need to do:
1. Set video mode to VGA 320x200 with 256 colors
2. Project and display the points of the first cube
3. Connect the points with lines drawn on the screen for the first cube
4. Project and display the points the second cube
5. Connect the points with lines drawn on the screen for the second cube
6. Pause for a very short period of time, so the cubes can be seen
7. Remove cubes from screen
8. Take user input
9. Perform required operations based on user input
10. Update the parameters of the cubes (i.e. angles)
a. Rotate cube
b. Translate cube
11. If the user hasn’t pressed the escape key, then go to step 2. If the escape key is pressed, then
go to step 12
12. Perform a screen capture and save the screen to a 24 bitmap, grayscale bitmap.
13. Set video mode to text
14. End.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
MASM 6 11 6 15