代写CS6206 3D Scene Editor代写留学生asp课程设计

用OpenGL绘制3D图像,画一只3D兔子。Goal of this exerciseIn this exercise you will implement a 3D editor that allows to prepare 3D scenes composed of multiple 3D objects.LibraryYou can only use the libraries in the folder. Any external libraries are forbidden.EigenIn all exercises you will need to do operations with vectors and matrices. To simplify the code, you will use Eigen. Have a look at the “Getting Started” page of Eigen as well as the Quick Reference page to acquaintain yourselves with the basic matrix operations supported.OpenGLIn all exercises you will use OpenGL 3.3 with GLSL version 150.Mandatory TasksFor each task below, add at least one image in the readme demonstrating the results. The code that you used for all tasks should be provided.Scene EditorImplement an interactive application that allows to add, edit, and delete 3D meshes. The scene should always contain at least one light source. New objects can be added to the scene in three ways:The key ‘1’ will add a unit cube in the originThe key ‘2’ will import a new copy of the mesh bumpy cube.off, scale it to fit into a unit cube and center it on the originThe key ‘3’ will import a new copy the mesh ‘bunny.off’, scale it to fit into a unit cube and center it on the originNote that you can have multiple copies of the same object in the scene, and each copy can have its own position, scale, and rotation. For this exercise, all transformations MUST be done in the shader. The VBO containing the vertex positions of each object should be uploaded only once to the GPU.Object ControlClicking on a object will select the object, changing its color. When an object is selected, it should be possible to translate it, rotate it around its barycenter, and rescale it without changing its barycenter. All these actions should be associated to keyboard keys (and the choice of keys should be detailed in the readme). Each object also has a rendering setting associated with it, which can be one of the following three options:Wireframe: only the edges of the triangles are drawnFlat Shading: each triangle is rendered using a unique color (i.e. the normal of all the fragments that compose a triangle is simply the normal of the plane that contains it). On top of the flat shaded triangle, you should draw the wireframe.Phong Shading: the normals are specified on the vertices of the mesh and interpolated in the interior. The lighting equation should be evaluated for each fragment.To compute the per-vertex normals you should first compute the per-face normals, and then average them on the neighboring vertices. In other words, the normal of the vertex of a mesh should be the average of the normals of the faces touching it. Remember to normalize the normals after averaging.When an object is selected, it must be possible to switch between the different rendering modes by pressing three keys on the keyboard.Camera ControlAdd the possibility to translate the position of the camera (similarly to the previous assignment), but in this exercise the camera should always point to the origin. It should be possible to move it around, but the camera should always face the origin.Implement both a orthographic camera (similar to the one that you used for Assignment 2, but in 3D) and a perspective camera. The cameras should take into account the size of the window, properly adapting the aspect ratio to not distort the image whenever the window is resized. All functionalities should work after resizing the window, including object selection and editing of the scene.本团队核心人员组成主要包括BAT一线工程师,精通德英语!我们主要业务范围是代做编程大作业、课程设计等等。我们的方向领域:window编程 数值算法 AI人工智能 金融统计 计量分析 大数据 网络编程 WEB编程 通讯编程 游戏编程多媒体linux 外挂编程 程序API图像处理 嵌入式/单片机 数据库编程 控制台 进程与线程 网络安全 汇编语言 硬件编程 软件设计 工程标准规等。其中代写编程、代写程序、代写留学生程序作业语言或工具包括但不限于以下范围:C/C++/C#代写Java代写IT代写Python代写辅导编程作业Matlab代写Haskell代写Processing代写Linux环境搭建Rust代写Data Structure Assginment 数据结构代写MIPS代写Machine Learning 作业 代写Oracle/SQL/PostgreSQL/Pig 数据库代写/代做/辅导Web开发、网站开发、网站作业ASP.NET网站开发Finance Insurace Statistics统计、回归、迭代Prolog代写Computer Computational method代做因为专业,所以值得信赖。如有需要,请加QQ:99515681 或邮箱:[email protected] 微信:codehelp QQ:99515681 或邮箱:[email protected] 微信:codehelp

你可能感兴趣的:(代写CS6206 3D Scene Editor代写留学生asp课程设计)