Design and implement a raytracer

Assignment Help Software Engineering
Reference no: EM133698275

Professional Software Development

Programming Assignment 1- Implement a Zork-style text adventure

Part 1: The hero's journey

For this part of the assessment, you will:
- Generate a UML diagram describing your solution
- Make a "map" containing at least 10 rooms
The provided code, purely as an example, has a map with three rooms. You may use those rooms as-is or delete them, but your final game should consist of a minimum of 10 rooms.
- Implement "look" functionality
In ZOOrkEngine.cpp, there is a method handleLookCommand(arguments) which, at this point, just prints out that the functionality is unsupported when a user attempts to look. Looking at an object should print its description; looking without a specific target should print the description of the current room.
- Implement take/drop and an inventory system
Also in ZOOrkEngine.cpp, there are methods handleTakeCommand(arguments) and handleDropCommand(arguments) that should enable a user to move an Item from the Room's inventory to the Player's inventory and vice versa. Implementing this functionality will also involve changes to, at a minimum, Player.h/Player.cpp and Room.h/Room.cpp.

Part 2: Choose your own adventure
For this part of the assessment, you will extend the functionality of ZOOrk to enable more interesting gameplay. You may choose to extend the game in any way you see fit - as long as you document it in your reflection document, see Part 3 below - but if you're stuck for ideas you could try one or more of the following:
- Add one or more new commands to the ZOOrkEngine enabling the player to perform new and exciting actions.
- Add other types of Characters that the player can interact with (possibly through new ZOOrkEngine commands...).
- Add a class Door, deriving publicly from Passage, that requires the player to possess a specific Item to open it.
- Add a system of status effects/tags such that the user can only perform certain tasks or access certain locationswhen they possess a certain characteristic (i.e. "huge", "tiny", "flying", etc.)

Part 3: There and back again
You will submit, in addition to a ZIP file containing your code files, a short reflection document. This document should comment upon:
- What AI tool or tools you employed,
- What prompts you provided to those tools,
- How and where those tools provided helpful suggestions,
- How and where those tools provided unhelpful suggestions,
- What, if anything, you implemented to satisfy Part 2, and
- What you learned from this process.

Programming Assignment 2 - Design and implement a raytracer

Part 1: A clear vision
For this part of the assessment, you will:
- Generate a UML diagram describing your solution (20 marks)
- ImplementSphere and (infinite) Plane Objects (10 marks; 5 marks each)
Implement the code for determining whether a Ray hits a Sphere or an infinite Plane. (A Plane has no bounds, unlike, say, a Quadrilateral or a Triangle. These are more complicated to implement and would make sense as extensions for Part 2.)
- Implement Reflective and PureDiffuse Materials (10 marks; 5 marks each)
An Object (for example, a Sphere or a Plane) will have a material that determines the Color3 of a Ray that hits it. Reflective (mirror-like) Materials will simply generate a new Ray; PureDiffuse Materials will simply stop the ray and assign a Color3. (Actually Diffuse materials are a much harder case, they integrate an entire hemisphere of Rays to determine the color of the surface. This would make sense as an extension for Part 2.)
- Add antialiasing
The image on the left demonstrates "aliasing", also known as "jaggies". The image on the right is a bit blurrier, but smoother. This is the effect of antialiasing. Add the option to turn antialiasing on or off in your raytracer.

Part 2: Tracing your path
For this part of the assessment, you will extend the functionality of your raytracer to enable more interesting images, more flexibility, or better performance. You may choose to extend the game in any way you see fit - as long as you document it in your reflection document, see Part 3 below - but if you're stuck for ideas you could try one or more of the following:
- Implement bounding volumes to increase performance. (Axis-aligned bounding boxes, or AABBs, would be a good place to start.)
- Enable Iterating over pixels in an image, or rays in a pixel.
- Enable image textures on Objects.
- Enable procedural textures on Objects.
- Enable area lights.
- Enable "real" diffuse surfaces.
- Enable "glossy" surfaces.
- Enable "refractive" surfaces.

Part 3: Ray reflection
You will submit, in addition to a ZIP file containing your code files, a short reflection document. This document should comment upon:
- What AI tool or tools you employed,
- What prompts you provided to those tools,
- How and where those tools provided helpful suggestions,
- How and where those tools provided unhelpful suggestions,
- What, if anything, you implemented to satisfy Part 2, and
- What you learned from this process.

Reference no: EM133698275

Questions Cloud

What evidence would be needed to show compliance : What the question means? What evidence would be needed to show compliance? Whether it would be easy or difficult to achieve compliance and why?
Painless lump palpated at left vaginal opening : Appropriate hair distribution, No lesions, Small, painless lump palpated at left vaginal opening. Mild swelling noted.
Discuss how difficult and costly completing the assessment : Discuss how difficult and costly completing this assessment might be for the small medical practice described in this case.
Explain how the ssl and tls work : Read more about SSL and TLS and write a report explaining how they work. Use the following link as a starting point.
Design and implement a raytracer : CSE3PSD Professional Software Development, La Trobe University Implement a Zork-style text adventure and Design and implement a raytracer
Identify four aspects of end of life care : Identify four aspects of end of life care e.g., eligibility criteria, services provided, types of medical conditions, reimbursement models,
What have researchers learned about the negative impacts : What have researchers learned about the negative impacts of excessive social media use among teenagers, and ways to mitigate these negative impacts?
Running water at designated hand-washing sink : Handwashing prior to changing a nappy - Wet hands with running water at a designated hand-washing sink, Dry hands effectively with new paper towel or hand dryer
What should be done to prevent a recurrence : Select a major hacking incident from the past five years. Briefly describe the case: What was done or not done? What should be done to prevent a recurrence?

Reviews

Write a Review

Software Engineering Questions & Answers

  The abafm first letter of all group members names

the abafm first letter of all group members names landscaping corporation is located at 1 park place drive markham

  Research and analysis relevant site for functionalities

Research and analysis relevant site for functionalities in accordance to this projects requirements and ability to build a high-performance database with relational logic.

  COIT20260 Cloud Computing for Smart Applications Assignment

COIT20260 - Cloud Computing for Smart Applications Assignment Help and Solution - CQ University, Australia - Create a cloud based simulating environment

  Mitigating of Delays in Construction Project in Oman

Glasgow Caledonian University - Master of Science In Construction Management - Examine causes and effects which leads to delays in projects in the Sultanate

  Draw a physical data flow diagram

Prepare a table of entities and activities.- Draw a context diagram.- Draw a physical data flow diagram (DFD).- Draw a level 0 logical DFD.

  Draw decision table and draw decision tree

Write structured english for clyde's narrative of the reimbursment policies. Write structure English, draw decision table and draw decision tree.

  How does the sdlc relate to systems analysis and design

What is the name of the tool? How does the project team identify problems and opportunities - Which phase comes first? How does the SDLC relate to systems

  What were consequences of the code hammurabi

What were consequences of the Code Hammurabi for ancient society, and how does this system of justice compare to modern American laws

  9story entertainment inc a privately owned corporation

9story entertainment inc. a privately owned corporation headquartered in toronto started as a production studio in

  Sketch a dependency and er diagram

Sketch a dependency diagram. There are examples in reading assignments of dependence diagrams. In what normal form is this table?

  Software engineering

Software Engineering: (a) Started as a response to the so-called 'Software Crisis' of the late 90's (b) Has been around as a discipline since the early 50's

  Identify boundary value cases related to the student answers

Software Testing Assignment - Case Study - MTEST Multiple choice study program. Identify boundary value cases related to the student's answers

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