Ghostwriting OpenGL program work, OpenGL engine work ghostwriting

Ghostwriting OpenGL Program Jobs, OpenGL Engine Jobs Ghostwriting
Build a Rendering Engine
For this job, you need to write a rendering engine using OpenGL. We will provide some skeleton code. Some framework code will be further explained in upcoming labs. It is contained in the Assignment2OptionB directory.
Skeleton code is recorded online.
1. Starting with the skeleton program we provide, write and test routines for rendering model files (.obj files) that meet the following requirements. The skeleton program creates windows and OpenGL contexts, uses the Open Asset Import Library1 to provide basic model and material loading methods for obj and material (mtl) files, and sets up some useful data structures.
2. Test the program using our example files (person.obj and earthobj.obj in the Skeleton directory) and a file of your choice.
3. Write a short report describing how your program works and how it is tested. Describe any known bugs in your program.
4. Use the submit342 script to give us a directory with the following contents:
? We can compile and run the code on MacOS in CS Lab using the CMake file you provided. To avoid overly large commits, make sure to only commit CMakeList.txt, common directories where renderApp.cpp resides, and application directories, such as the skeleton directory. Your best bet is to create a clean directory and copy the CMakeList.txt, common and your application directory and commit this directory. Do not submit binaries for applications and external libraries.
? The example image file we will use in the art presentation of this course and the model file you used to generate it (if you are using a different model, or if you have changed any of the provided models).
? Short reports as pdf files. (This is usually about one page long, no more than three pages long.)

Requirements of your rendering engine
We ask that you complete the following tasks in the structure of the provided skeleton code.
1. Implement full obj model loading (we provide the help of the assimp library in the lab, the framework code contains the basic loading function of a single mesh, without any shadows). Main executable file: common/Objloader.cpp.
2. Implement complete model rendering (framework code provides the ability to render a single mesh). Main file execution: common/Group.cpp.
3. Make sure to load all materials from the mtl file (usually mtl files contain multiple materials, and the material index allows to reuse materials between different meshes). Implement correct material indexing from loaded mtl files. Main executable files: common/Objloader.cpp, common/Group.cpp.
Currently only diffuse parameters can be read from mtl files. Please read additional parameters to support material settings for diffuse color, ambient color, specular color and specular index (parameters Ka, Kd, ​​Ks and Ns in the mtl file). Also reads the texture settings of the diffuse texture map (map Kd). Make sure to process all materials for all meshes. Main executable files: common/Objloader.cpp, common/Group.cpp.
5. Pass these additional material parameters to the shader (main files for implementation: common/MTLShader.cpp and mtlShader.vert and mtlShader.frag in Skeleton).
6. Implement Phong shading and Blinn-Phong reflection models using vertex and fragment shaders (main files in Skeleton: mtlShader.vert and mtlShader.frag).
7. Implement support for transparent materials (using transparency settings in mtl file - parameter d). Your result should be in Figure
1, in. Main executable: renderApp.cpp to support mixing in Skeleton directory and mtlShader.frag.
8. Implement a special effects shader of your choice (Toon, Sepia, Black-andWhite (BW)) - make it selectable using the enter key. The results of BW may be shown in Figure 1. Main files execute: renderApp.cpp and mtlShader.frag in Skeleton and common/MTLShader.cpp.
Building a render engine
For this assignment you are asked to write a render engine using OpenGL. We will provide some skeleton code. Some of the skeleton code will be further explained in the upcoming labs. It is contained within theAssignment2OptionBdirectory.
The skeleton code is documentedonline.
1. Starting with the skeleton program that we haveprovided, write and testroutines that rendermodel files (.obj files), meeting the requirements below. The skeleton programcreates the window and the OpenGL context,providesmethods for basic model and material loading from obj and material (mtl) filesusing the Open Asset Import Library1, and sets someuseful data structures.
2. Test your program with our sample files (person.objand earthobj.objwithin the Skeleton directory) and withfiles of your choice.
3. Write a short report, describing how your programworks and how youtested it. Describe any knownflaws in your program.
4. Use the submit342 script to provideus with a directory that contains:
? Code that we cancompile and run under the MacOS environmentin the CS labs using the CMake file you provide. In order toavoidtoo large submissions, make sure that youonly submit the CMakeList.txt, the common directory and theapplication directory whererenderApp.cppis located e.g. Skeleton directory. The best optionis to create a clean directory and copy CMakeList.txt, common andyour application directory and submit this one. Don’t submitthebinaries for your application and theexternal libraries.
? A sample imagefile, which we will use in an art display for the course,and the model files you used to generate it (if you are usinga differentmodel or if you changed any of the providedmodels).
? A short report as apdf file. (This should usually be about a page inlength, and not be more than three pages long.)

We will e-mail you to confirm that we have received yourassignment within a week of the due date. Keep a copy of your work at leastuntil the assessment has been returned to you.
Requirements for your render engine
We require that you complete the following tasks within thestructure of the skeleton code provided.
1. Implement complete obj model loading (we provide help with assimp library inthe lab and the skeleton code contains basic loading function for a single meshwithout any shading). Main files for implementation: common/Objloader.cpp.
2. Implement complete model rendering (the skeleton code provides functionalityto render a single mesh). Main files for implementation: common/Group.cpp.
3. Make sure all materials are loaded from the mtl file (Usually a mtl file containsmultiple materials, material indexing allows to reuse materials betweendifferent meshes). Implement correct material indexing from the loaded mtlfile. Main files for implementation: common/Objloader.cpp, common/Group.cpp.
4. At the moment only the diffuse parameter is read from the mtl file. Read additionalparameters to support the material setttings for diffuse color, ambient color,specular color and specular exponent (parameters Ka, Kd, Ks, and Ns from themtl file). Also read the texture settings for the diffuse texture map (mapKd). Make sure that all materials for all meshes are processed. Mainfiles for implementation: common/Objloader.cpp, common/Group.cpp.
5. Pass these additional material parameters to the shaders (main files for implementation:common/MTLShader.cpp and mtlShader.vert and mtlShader.frag in Skeleton).
6. Implement Phong shading and Blinn-Phong reflection model using the vertexand the fragment shader (main files: mtlShader.vert and mtlShader.frag inSkeleton).
7. Implement support for transparent material (use transparency setting fromthe mtl file - parameter d). Your result should look like Figure
1, Middle. The main files for implementation: renderApp.cpp tosupport blending and mtlShader.frag in the Skeleton directory.
8. Implement a Special Effect shader of your choice (Toon, Sepia, Black-andWhite(BW)) - make this an option to select using an input key. The result for BWcould like Figure 1, Right. Main files forimplementation: renderApp.cpp and mtlShader.frag in Skeleton andcommon/MTLShader.cpp.
http://www.daixie0.com/contents/21/1264.htm

 

The core members of the team mainly include Silicon Valley engineers, BAT front-line engineers, top 5 master and doctoral students in China, and are proficient in German and English! Our main business scope is to do programming assignments, course design and so on.

 

Our field of direction: window programming, numerical algorithm, AI, artificial intelligence, financial statistics, econometric analysis, big data, network programming, WEB programming, communication programming, game programming, multimedia linux, plug-in programming program, API, image processing, embedded/MCU database programming, console process and thread, network security, assembly language hardware Programming software design engineering standards and regulations. The ghostwriting and ghostwriting programming languages ​​or tools include but are not limited to the following:

C/C++/C# ghostwriting

Java ghostwriting

IT ghostwriting

Python ghostwriting

Tutored programming assignments

Matlab ghostwriting

Haskell ghostwriting

Processing ghostwriting

Building a Linux environment

Rust ghostwriting

Data Structure Assginment

MIPS ghostwriting

Machine Learning homework ghostwriting

Oracle/SQL/PostgreSQL/Pig database ghostwriting/doing/coaching

web development, website development, website work

ASP.NET website development

Finance Insurance Statistics Statistics, Regression, Iteration

Prolog ghostwriting

Computer Computational method

 

Because professional, so trustworthy. If necessary, please add QQ: 99515681 or email: [email protected]

WeChat: codinghelp

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324706555&siteId=291194637