Details of the Assignment:
- The main requirement of the assignment was to create our own graphics project and add a custom shader to change color of an object drawn on screen
- for me, the purpose of the assignment was to make us familiarize with how graphics work in the project and to implement it on our own.
Running Part of the Assignment:
References to graphics:
- OpenGLExtension project is most needed project dependency.
- Then I have added all the referenced all the projects that are present inside the #include, which is wrong, but I do know at least Time, platform and math are not needed as there is no function call to each of these headers only their enums or variable types are used inside the graphics project.
- The way I am sure that these projects are not be depended by Graphics is because I change the build order and tried to built it (by always deleting the temp folder) and the solution build successfully.
Expectations from course:
- I don't know anything about shader, textures and materials related to graphics and I want to learn how they work but never knew where to start from, this course creates a good starting point for me to dive into these topics
- Another thing that I like is how our professor challenges us even for solving our doubts, the counter questions actually helps me to search for the things I have not yet thought of. It takes times to get to the correct answer but it's a good learning experience
How I reach at this point:
- I haven't counted the number of hours I took for finishing the projects but it should be at least 10 hours
- I started the assignment and was blocked by solution error and had to wait for the new solution
- I had many linker errors, first one was related to OpenGLExtensions project and the second most problematic link error was because I forgot to forced include the Direct3D and OpenGl libraries to the graphics project
- One more build error that trouble me was, I forgot to add dependencies to BuildMyGameAssets project after creating it and I didn't even realize it
- While I was testing project references, I found an interesting thing that once you build your project with some references that build order is fixed unless you change the project dependencies.
- While creating the changing color animation, when I used the sin function, as it was giving as -1 to 1, I created a function that acts like abs using abs because, I wanted to added extra stuff to shader file, but it was giving we few color changes.
- Which let me to think that if i use sin function than the values for RGB would be always equal, and I remember form option challenges that changes in simulation time would help me create different RGB values every time so I added constants to the simulation time before giving it to sin function which is giving me the output as seen in .exe file
Questions regarding optional challenges
I have not added anything related to optional challenges in the code as well as .exe
For slowing down the animation using simulation time, I don't know whether my way of thinking is correct or not but what I think is using time(null) function every time the user presses the button I subtract the current time with start time and multiplying it with a constant less than 1 which results in the time being same giving us the slowing effect.
I would love to have feedback on that
Luis Garcia Remes