EssayGhost Assignment代写,Essay代写,网课代修,Quiz代考

EssayGhost-Essay代写,作业代写,网课代修代上,cs代写代考

一站式网课代修,论文代写

高质量的Assignment代写、Paper代写、Report代写服务

EG1hao
网课代修代上,cs代写代考
Java代写
您的位置: 主页 > 编程案例 > Java代写 >
代写Java:java代写北美作业代写OpenGL 3D homework代码代写,编程代写! - Java代写
发布时间:2021-07-25 20:36:38浏览次数:
0 0 0 0 0Will create a mesh that looks like this (this may look different depending on the angle/position you view it from and exactly how you set up your camera). This is taken from basically straight aheadat around (0,0.5,9) in world co-ordinates and with a perspective camera:Note:This screenshot was taken with back face culling onNote: for the assignment you will texture your terrain and make it look pretty. We are just showing the lines here so you can clearly see the geometry. It is up to you whether you implement your terrain using face nomals or vertex normals.You should consider efficiency when constructing and drawing the terrain.TreesThe levels include trees at different points on the terrain. Your second task is to draw the trees at the specified locations.In the screenshots, the trees are drawn with two separate textured meshes: a cylinder for a trunk and a sphere for the leaves. For the base part of the assignment, you only need to have a tree that is a single textured mesh. We have provided a PLY file of a tree that you can use. However, if you want you can make your trees more exotic: lampposts, candy-canes, chimneys, or whatever yourimagination dictates. The point is that they are placeable 3d models on the terrain.Note that the level descriptions only specify the (x,z) location of the tree. You will need to use the terrain data to calculate the altitude of the tree and draw it appropriately. Trees are not guaranteed to be positioned at grid points, so you will need to interpolate altitude values if a tree is in the middle of a triangle.CameraYou should implement a 3D camera which moves around the scene using the arrow keys:•The up arrow movesforward•The down arrow movesbackward•The left arrow turnsleft•The right arrow turnsright.The camera should move up and down following the terrain. So if you move it forward up a hill, the camera should move up the hill.SunlightYour world should be rendered using Phong shading. The level files include a sunlight field which is a 3D vector specifying a directional light to be included in the scene. The vector represents the direction to the source of the light.You will need to create a new vertex and/or fragment shader to support defining a directional light instead of a point light. You can base it off one of the preexisting shaders if you wish. Note that the shader will also need to support texturing.You will need to decide for yourself what are the appropriate other properties for the light and the appropriate material properties for the surfaces that will reflect it.Final milestone (end of week 12)AvatarAdd an avatar and make the camera follow behind the avatar in a 3rd person view. You should being able to switch from 1st person (with no avatar) to 3rd person (with the avatar) by pressing a key of your choice. For the base part the avatar does not need to be a complex model (a bunny is ok), but it does need to be textured.The level include roads. Each road is described as a 2D Bezier curve. I have provided a function for you which calculates the (x,z) location of points along the road. You will need to to use this function to extrude a road which follows this curve, with the width specified in the constructor.You can assume, for the base portion of the assignment, the roads will only run over flat terrain, so you will not have to handle going up or down hills. You can assume the starting point of the road is at the altitude for the entire road. The should have an appropriate texture applied to it.Night time and torch lightYour world should support a night mode triggered by a key press. In the night mode, the sunlight should dim (but not go away entirely) and a torch attached to the camera/avatar should switch on. This torch should be an attenuated spotlight. You will need to modify your shader to support this second light. It should be possible to pass properties of the spotlight (cutoff, attenuation, etc.) from the Java program to theshader.You may have 2 separate shaders for the day and night mode if you wish, but keep in mind that when you load the new shader, you will need to pass all the parameters to it again.ExtensionsThe base elements described above are worth 14 of the 20 marks. For the remaining 6 marks you can choose among the following extensions:•Build a complex model or a model with walking animation or something beautiful or interesting for your avatar! (2..4marks)•Make the sun move and change colour according to the time of day (2marks)•Add distance attenuation to the torch light (2marks)•Add rain using particle effects (4 marks) For the full marksthis would need to include alpha blended billboarded particles, creation and destruction ,some kind of evolution over time (position, size, colour, as is appropriate for your kind of particles).•Add ponds with animated textures to your world (4 marks) Ponds need only lie on flat terrain like roads but should include animated textures showing ripples orwaves.•Add an L-system for fractal tree generation (4 marks) To get full marks for this you would need to implement a proper rewite system. You would not need to load the grammar for the L- system from JSON, but it should be possible to alter the grammar just by changing values in thecode.You should also provide a way to increase/ decrease the number of iterations either interactively or from reading in the number of iterations from a json file. By default you should set it to the number of iterations that looks best/runs best. It does not matter if the tree does not look as good when iterations are increased/decreased. It is also ok if performance drops for high numbers of iterations. This is to beexpected.•Fix road extrusion so roads can go up and down hills (4 marks). To get full marks for this, your road must perfectly follow the terrain without intersecting or rising aboveit.•Add lakes or ponds with a ripple effect. The ripple shouldbe animated and realised by distorting the mesh in the vertex shader (4marks)•Add shadows to the trees and terrain (4marks)•Implement normal mapping on one of your models(4marks)•Add reflection mapping (using cube mapping) to one of your models (4marks)•Implement some form of NPR shading (6marks)•BSP trees for terrain rendering (6marks)•Add level-of-detail support for rendering distant objects with lower-resolution models (6marks)•Implement Cook-Torrance shading or some other form of physically based rendering (6marks)•Implement grenades or bombs that cause the terrain to deform when theyexplode.•Add Portal styleportals.◦Portals you can walk through (4marks)◦Portals you can walk and see through (8marks)•Implement the terrain as a Bezier or NURBS surface (8 marks) If you have other ideas for extensions please ask on the forum. If there are any I like, I will add them to the list. I m looking for extensions which test your use of different rendering techniques rather than just adding more stuff to theworld.Note: The marks above increase roughly logarithmically with the amount of work required. So a task worth 6 marks is about 16 times harder than a task worth 2 marks. The higher mark extensions will also require you to do your own research as they may require ideas and techniques not covered in this course.Assignment 2: Sample Example worldsThese are the some screenshots of the example worlds provided. Note that screenshots were taken from whatever angle best captured the scene. Your output doesn t have to look exactly like this, but the following elements should match:1the shape of theterrain2the direction of thelighting3the shape of theroadSome of them include the line outlines of the triangles so you can see the geometry of the terrain. You should not draw such lines in your implementationTest 1The road hangs over the edge of the terrain.Test 2Various slopes lit from above{ width :6, depth :6, sunlight : [ 0, 1, 0]

所有的编程代写范围:essayghost为美国、加拿大、英国、澳洲的留学生提供C语言代写、代写C语言、C语言代做、代做C语言、数据库代写、代写数据库、数据库代做、代做数据库、Web作业代写、代写Web作业、Web作业代做、代做Web作业、Java代写、代写Java、Java代做、代做Java、Python代写、代写Python、Python代做、代做Python、C/C++代写、代写C/C++、C/C++代做、代做C/C++、数据结构代写、代写数据结构、数据结构代做、代做数据结构等留学生编程作业代写服务。