# data[].attributes.body
We get together and discuss the task given online through Microsoft Teams. We discussed how to download, insert files, correct the code for the given task.

# data[].attributes.body
1) Nurul Dafinah binti Suhaimi (85349)

2) Esmerelda Feona anak Kilat (83788)

3) Azira Anak Mundit (83343)

4) Nur Athirah Binti Mohamad Yusop (85034)

5) Jessica Jensy Anak Joeshawa (84137)

# data[].attributes.body
We change the background to grey colour.

# data[].attributes.body
After installing, we run Visual Studio 2022 and we can simply double click on the Visual Studio 2022 and search for it. Then, start menu and click to open it.

# data[].attributes.body
The background remains grey, and we change the triangle's colour to blue.

# data[].attributes.body
The modifications were successfully implemented. "The background color was changed to red, providing a visual contrast. Additionally, the texture on the cube was updated to display a sad face instead of the previous awesome face.

# data[].attributes.body
Our first meeting together only thru online section which is thru Microsoft Teams.

In our discussion:

1) We make sure our group member have the laptop in Window 10 and above.

2) Also we make sure all of us know to download the Microsoft Visual Studio.

3) We also followed the instruction given step by step

4) We downloaded all the files that have provided thru eleap and extracted it before run to the Visual Studio Community 2022.

5) After that, all of us try to figure out how to use the Visual Studio Community. We try and error about the code, because one of our team cannot run the codes.

6) We help and try and error from each other to completed the task. The instruction given was helpful to us who first timer using the Visual Studio Community.

# data[].attributes.body
To create our group project, create an empty project in Visual Studio. Click on "Create a new project" and then choose the"empty project" . Then,we key in new project name which is "project 2".

# data[].attributes.body
When we open the Visual Studio, and we making sure the configuration is 'All Configurations' and the platform is 'x64'. That's to specify the locations where the compiler should look for the header files and needed for C++ project.

# data[].attributes.body
Include additional dependencies in Visual Studio 2022 to specify external libraries or resources that our project needs to link with during the build process.

# data[].attributes.body
In this part, we select the release option and set it to x60 before rebuilding the project.

Hence, this is our code information.

# data[].attributes.body
Next, we ran the code to ensure it could produce an "awesome face."

As a result, we managed to create the files "awesomeface.png" and "container.jpg."

# data[].attributes.body
The modifications were successfully implemented. We modified the render loop to apply a rotation transformation to each cube before rendering. This was achieved by updating the model matrix with a rotation transformation based on the current time.

# data[].attributes.body
This files refers to information such as types and dates.

# data[].attributes.body
We make a change for the background only.

# data[].attributes.body
We put a turquoise colour as our background.

# data[].attributes.body
The "Hello Triangle" OpenGL example demonstrates the basic steps for rendering a triangle. It initializes GLFW, establishes an OpenGL context, loads function pointers, defines the triangle's vertex data in normalized device coordinates, configures vertex attribute pointers, and creates a Vertex Buffer Object.

# data[].attributes.body
The implementation of the camera system for free movement in the 3D environment for task 2 was successful. The camera can now move forward, backward, left, and right using the W, S, A, and D keys. Mouse movement allows for smooth rotation of the camera around the y-axis (yaw) and x-axis (pitch), providing an intuitive way to look around the scene. The scroll wheel controls the zoom level, enabling closer or further views of the objects.

# data[].attributes.body
The "Basic Lighting" OpenGL example demonstrates how to add basic lighting to an OpenGL application. It initializes GLFW, creates a window, loads OpenGL function pointers, and defines vertex data and normals for accurate lighting calculations. A shader program is created, focusing on vertex and fragment shaders for lighting calculations. The example demonstrates how configuring an OpenGL lighting system can improve the realism of rendered 3D objects.

# data[].attributes.body
OpenGL can handle complex lighting models, as demonstrated in the "Multiple Lights" example. It involves arranging various lights, such as spotlights, directional lights, and point lights, with unique effects. Shaders are designed to manage these sources, and the scene setup includes determining objects with appropriate material attributes. This example emphasizes the importance of effective shader programming and OpenGL lighting equations in realistic rendering techniques.

# data[].attributes.body
The offered image depicts a 3D graphics program that uses OpenGL and focuses on shadow mapping, in which several blocks are lit by a light source and create shadows. The shadows are hard-edged, indicating a simple shadow mapping approach without complex filtering. The direction and length of the shadows indicate that the light source is to the left of the blocks and somewhat below them.

# data[].attributes.body
The diagram above is a output that was successfully produced through a program that uses OpenGL, which is a computer graphics library. This program arranges the shape, color, and position of various elements, such as the red, blue, and green rectangles seen in the picture.

# data[].attributes.body
The rendering process starts by setting up a PBR shader, passing the view matrix and camera positions. Pre-computed image-based lighting (IBL) data, including irradiance and pre-filter maps, along with bidirectional reflectance distribution function (BRDF) search textures, are bound to specific texture units to simulate realistic lighting. For each material, the albedo, normal, metallic, roughness and ambient occlusion (AO) textures are each bound to the next texture unit, and the shader model and normal matrix uniform are updated to correctly position and orient the spheres in the scene.

# data[].attributes.body
We add a new background, and we change a shader and put it in a new one.

# data[].attributes.body
We changed the wood theme to the Aweosme Face theme.

# data[].attributes.body
1. We make a change which is all of them rectangle.

# data[].attributes.body
1. We change the original color which is from red, green and blue to white.

2. We make it slower movement.

# data[].attributes.body
For Task 6, we made a significant modification by changing the background to a resolution of 1920x1280. This change was implemented using the 'sky.hdr' file, resulting in an enhanced visual output. This first modification demonstrated how altering the background can significantly improve the overall visual quality and realism of the scene.

# data[].attributes.body
For Task 6, we made a significant modification by changing the background to a resolution of 1920x1280. This change was implemented using the 'bunga.hdr' file, resulting in an enhanced visual output. This second modification demonstrated how altering the background can significantly improve the overall visual quality and realism of the scene.

# data[].attributes.body
1) Nurul Dafinah binti Suhaimi (85349)

2) Esmerelda Feona anak Kilat (83788)

3) Azira Anak Mundit (83343)

4) Nur Athirah Binti Mohamad Yusop (85034)

5) Jessica Jensy Anak Joeshawa (84137)