当前位置:天才代写 > 作业代写 > Final Project代写 interactive demonstration代写 game代写

Final Project代写 interactive demonstration代写 game代写

2020-12-04 18:00 星期五 所属: 作业代写 浏览:176

Final Project代写

(Final) Project Four

Final Project代写 Description: In this final project, you will be implementing a game or interactive demonstration that integrates one

Description: In this final project, you will be implementing a game or interactive demonstration that integrates one or more additional capabilities of your choice into the scene graph architecture. Additionally you will be adding three specified functionalities to the scene graph architecture. These include the capability to search for a particular SceneNode, a class for background sounds, and implementation light sources that are part of the scene graph with positions and orientations that are updated accordingly.Final Project代写

You should download the CSE387ProjectFour.zip archive and use it as your starting point for the project.

Final Project代写
Final Project代写

Demonstration or Game Final Project代写

Implement a game using the architecture that we have created during the course of the semester. The project should function smoothly and be interactive. It should also be aesthetically appealing i.e. look good. The project should incorporate the capabilities and functionality that we have worked on during the semester. You are expected to also learn about additional computer graphics / game topics and incorporate one or more into the project. Whatever you develop needs to be incorporated into the scene graph/rendering architecture that we have created.

Project Requirements Final Project代写

  • Fog, Transparency, and Blending
    • Include at least one of these
  • Simulated Lighting
    • Integrate lighting into the scene graph architecture (see below) and illuminate the scene using multiple light sources of at least two different types
  • Model Loading
    • Incorporate at least three different models into the scene. Each should be texture mapped. Do not use models that I have previously used in class.Final Project代写
  • Script Based Motion
    • Include at least one object with movement controlled by a script.
  • Physics Based Motion
    • Include at least one object with movement controlled by the physics engine that interacts with other objects in your scene.Final Project代写
  • Custom Collision Reaction through Scripts
    • Implement customization reaction for collision and/or trigger events in scripts.
  • Spatialized Sound
    • Include both spatialized and background sounds (see below)Suggested New Capabilities and Places to Start:

2D Text

http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-11-2d-text/ https://learnopengl.com/#!In-Practice/Text-Rendering

Billboards Final Project代写

http://www.opengl-tutorial.org/intermediate-tutorials/billboards-particles/billboards/

Bloom

https://learnopengl.com/#!Advanced-Lighting/Bloom

Additional Bullet Physics Final Project代写

  • Trigger Zones
  • Constraints
  • Vehicle and Character Controllers
  • Soft Body Dynamics

https://github.com/bulletphysics/bullet3/blob/master/docs/Bullet_User_Manual.pdf http://bulletphysics.org/mediawiki-1.5.8/index.php/Tutorial_Articles http://bulletphysics.org/mediawiki-1.5.8/index.php/Tutorials

Cube Maps/ Sky Boxes/ Environment Mapping https://learnopengl.com/#!Advanced-OpenGL/Cubemaps http://ogldev.atspace.co.uk/www/tutorial25/tutorial25.html

Deferred Shading Final Project代写

https://learnopengl.com/#!Advanced-Lighting/Deferred-Shading http://ogldev.atspace.co.uk/www/tutorial35/tutorial35.html

Flocking

https://www.red3d.com/cwr/boids/ Geometry Shader / Exploding Objects

https://learnopengl.com/#!Advanced-OpenGL/Geometry-Shader Height Maps

http://www.mbsoftworks.sk/index.php?page=tutorials&series=1&tutorial=24 High Dynamic Range (HDR)

https://learnopengl.com/#!Advanced-Lighting/HDR Instancing

https://learnopengl.com/#!Advanced-OpenGL/Instancing Light Maps (Shadows)

http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-15-lightmaps/ Normal (Bump) Mapping Final Project代写

http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-13-normal-mapping/ https://learnopengl.com/#!Advanced-Lighting/Normal-Mapping

Parallax Mapping

https://learnopengl.com/#!Advanced-Lighting/Parallax-Mapping Particle Systems

http://www.opengl-tutorial.org/intermediate-tutorials/billboards-particles/particles-instancing/ http://ogldev.atspace.co.uk/www/tutorial28/tutorial28.html

Physically Based Rendering Final Project代写https://learnopengl.com/#!PBR/Theory https://learnopengl.com/#!PBR/Lighting

Point Shadows

https://learnopengl.com/#!Advanced-Lighting/Shadows/Point-Shadows http://ogldev.atspace.co.uk/www/tutorial43/tutorial43.html

Picking using Bullet

http://www.opengl-tutorial.org/miscellaneous/clicking-on-objects/picking-with-a-physics-library/

Screen-Space Ambient Occlusion (SSAO) https://learnopengl.com/#!Advanced-Lighting/SSAO http://ogldev.atspace.co.uk/www/tutorial45/tutorial45.html

Shadow MappingFinal Project代写

http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-16-shadow-mapping/ https://learnopengl.com/#!Advanced-Lighting/Shadows/Shadow-Mapping http://ogldev.atspace.co.uk/www/tutorial23/tutorial23.html http://ogldev.atspace.co.uk/www/tutorial24/tutorial24.html http://ogldev.atspace.co.uk/www/tutorial47/tutorial47.html

Steering Behaviors

https://www.red3d.com/cwr/steer/ Skeletal Animation with ASSIMP

http://ogldev.atspace.co.uk/www/tutorial38/tutorial38.html

Scene Graph Development – Find Final Project代写

BehaviorScripts often need reference additional SceneNodes besides the one that they are attached to. One way to do this is to add a data member to the script and simply assigned the specific SceneNode to that data member.

In a BehaviorScript, it is often necessary to search the game scene for one or more SceneNodes. Add a name property to the SceneNode class. Modify SceneNode sub-classes as necessary to support this. Implement a Find method that can be used to search the entire scene graph of a sub-branch of the graph for a particular SceneNode based on the name. The method should return a reference to the SceneNode if it is found or nullptr if the name was not found in the branch the scene graph that was searched.Final Project代写

Optionally, you may also wish to add “Tag” and/or “Layer” functionality that can be used to classify a SceneNode as being part of a group. One way to implement these would be to use collision masks such as we have discussed in class. These can be used in numerous ways throughout a game engine. For instance, a tag might be used to designate membership in an “enemy” group. When a collision with any “enemy” in the group occurred, a BehaviorScript attached to one of the SceneNodes in the collision might specialize its execution based on the tag. Layers might be used to control what does and does not get rendered in the view of a Camera or designate what types of collisions are of interest.Final Project代写

Scene Graph Development – LightsFinal Project代写

Light sources are the one thing we have not yet integrated into our scene graph architecture. Create a Light or LightSource class that is a sub-class of SceneNode. Implement positional, directional, and spot lights that give off ambient, diffuse, and/or specular reflection by providing all of the necessary functionality in the class or through sub-classes of the class. Positions, directions, and spot light directions should be automatically updated based on translations and rotations of the light. One way to do this would be to automatically attach a BehaviorScript to each light source that updates these properties of the light. Instead of attaching this script in the Scene class, this script could instead be instantiated and attached in the constructor of the light. It should be possible to set all properties of the light sources through the class or classes that you create.

Scene Graph Development – SoundBackground

Add a sub-class of SoundSource that can be used to play non-spatialized background sounds.Final Project代写

Turn it in

Submission instructions for this project are similar to labs.

  1. Copy the folder containing your solution to the desktop.
  2. Change the name of the folder to CSE387ProjectFour followed by your unique identifier. For instance “CSE387ProjectFourBachmaer.”Final Project代写
  3. Open the solution. Make sure it still runs.
  4. Clean the solution by selecting Build->Clean Solution.
  5. Zip up the solution folder using the standard windows compression tool. (No 7zips, rars, etc.)
  6. Submit your zip archive of the solution through canvas.
Final Project代写
Final Project代写

 

更多其他:C++代写 考试助攻 计算机代写 report代写 project代写 数学代写 java代写 程序代写 algorithm代写 北美代写 代写CS 代码代写 function代写 作业代写 物理代写 金融经济统计代写 course代写 Data Analysis代写

合作平台:天才代写 幽灵代写 写手招聘 Essay代写

 

天才代写-代写联系方式