# data[].attributes.body
As for the task 6 modification:
* Download files such as: basic lighting. fs, basic lighting. vs, light cube.fs, light cube.vs. Some of the file in the vs.cpp need to be converted in a VS file.
* Another modification is in the source code that also listed in the instruction paper
* As for the output, the modification will be changing the texture with another texture such as : fur, sci-fie ball, old oak tree

# data[].attributes.body
-For the task 5 need to download the shader file which is rename as the instancing.vs and instancing.fs.
-The modification in the source code where change the color and the shape
-As the output the modification will be : colour of the vertax and the shape of the vertax

# data[].attributes.body
This will be the section for task division for every group member.

# data[].attributes.headline
3. Group discussion on the output modification for all task 1-6 (Physical)

# data[].attributes.subject
3. Group discussion on the output modification for all task 1-6 (Physical)

# data[].attributes.body
As from what I understand from the task, it ask for textured PBR matter visualization on the surface if the balloon. Hence as what I identify in the main source code provided in the learning opengl tutorial, there will be some files need to downloaded to be embed in the source code so that it will visualized as the output asked in the task instruction. The file will be: background, brdf, cubemap, equirectangular to cubemap, irradiance convolution, pbr, and prefilter file. Some of this file are in the .cpp file, hence it is required to be converted into VS file.

# data[].attributes.body
For this task, we chose to modify the background image in the output.
1. We download image.png
2. Save the image to the project file
3. Editting the source code by changing the name of the original image to the new image.

# data[].attributes.body
As for the task 3 modification:
* Download files such as: basic lighting. fs, basic lighting. vs, light cube.fs, light cube.vs. Some of the file in the vs.cpp need to be converted in a VS file.
* Another modification is in the source code that also listed in the instruction paper
*As for the output, the modification will be: changing the colour of the box, making the source light to rotate around the box

# data[].attributes.body
The first modification is the upside-down image of the original camera image shown above. To create the upside-down image, we have added additional void function that makes the image rotated upside-down.
The second modification, it is about camera rotation with many cubes. The camera will rotate at 360 degrees in clockwise. We will create the camera that is rotates while in their our axis.

# data[].attributes.body
For the task instancing, this task is about to draw many model with the set of same vertax data. Using intancing can help to draw the model the same of vertax data in the fast way. Hence beside of the source code need to download the shader file to make sure the output can display. The shader file is the important to do this task for the make sure the output same with the instructions.

# data[].attributes.body
The focus for point lights shadows is to generate a dynamic shadows in all surrounding direction. Next, it is also to make objects in a 3D scene cast realistic shadows when illuminated by point light sources. This enhances the visual realism of the scene. To achieve point shadows, a technique called shadow mapping is commonly used. It involves rendering the scene from the perspective of the light source and creating a depth map, which stores the distances from the light source to visible surfaces. During the regular rendering process, this depth map is used to determine if a fragment is in shadow or not. By incorporating point shadows, objects in the scene cast shadows on themselves and other surfaces, making the lighting look more natural and adding depth to the scene. However, implementing point shadows can be computationally expensive, so optimizations are often used to balance performance and visual quality.

# data[].attributes.body
We have discussed that we want to modify the triangle into a rectangle shape and two shapes of the triangle.

The first is rectangle shape, this modification involves adjusting the vertices' positions and coordinates to create a shape with four sides and four right angles. To achieve this, we have to change the vertex positions defined in the display function. Once we have made the necessary modifications, we can recompile and run the program. The output window will then display a rectangle.

The second is two shapes of the triangle. We want to create two separate triangles with different positions, and orientations but use the same colors. We have defined the vertices and attributes for each triangle separately in the display function, using the appropriate OpenGL functions.

# data[].attributes.body
*Preparation to display output and source code
*Show a complete filled padlet discussion
*Highlighting the modified output

# data[].attributes.body
As from what I understand, the task asking for an output that will display a single and multiple light from the container box. As for the single light visualization, the output will display only one white box indicated as the light source. While for the multiple light, there will be 2 or 3 light available as the light source.

Hence there will be some files need to downloaded to embed in the source code such as basic lighting and light cube file. As for the multiple light the file will be light cube and multiple light file to visualize the output asked in the question.

# data[].attributes.headline
Task 2 (Camera system for free movement)

# data[].attributes.subject
Task 2 (Camera system for free movement)

# data[].attributes.body
This task is about a fly-style camera that lets you move about freely in a 3D scene. Besides, from this task we can learn about keyboard and mouse input before concluding with a special camera class.
When we refer to the vertex coordinates as being at the origin of the scene from the camera's point of view, we are referring to camera/view space. The view matrix converts all of the world coordinates into view coordinates that are relevant to the camera's location and orientation. A camera's position in world space, the direction it is facing, a vector pointing to the right, and a vector pointing upwards from the camera are all necessary to define it.

# data[].attributes.body
The goal of the "Hello Triangle" task is to generate a 2D triangle using the provided code. Once the program has run, a window with the triangle on the screen will show up. The next step is to modify the shape of the triangle after it has successfully been displayed.

# data[].attributes.headline
2. Group discussion on the setup (Physical)

# data[].attributes.subject
2. Group discussion on the setup (Physical)

# data[].attributes.body
Share and provide information how you setup the programing enviroment
Share how the first program output is obtain

# data[].attributes.body
Place the output of every task in the PPT slide

# data[].attributes.headline
1. Setup Microsoft Visual Studio 2022 for OpenGL Programming 

# data[].attributes.subject
1. Setup Microsoft Visual Studio 2022 for OpenGL Programming 

# data[].attributes.body
Front( Left: Nursyarfika,Nurse),
Back( Left: Magrina, Nurul Ain Nazatul , Shirellayne)

# data[].attributes.body
Nurul Ain Nazatul Binti Sumail (80825)
Magrina anak Lenson (79942)
Nurse Binti Jikol (80796)
Nursyarfika Binti Ingai (80812)
Shirellayne Palimen @ Palmin (82143)