Assignment 0:(not graded)
You really need to download the latest copy of GameDev.
Grab a new copy of ComponentFramework25.0.0 Vulkan.zip as well
Assignment 1:(16/20)
Don't break the code!
1. Give me a three light system a red one, a blue one and a green one.
2. Position all three in uniquely different positions.
3. I have created an empty Camera class for you. Move the Camera information from Scene0 into the Camera class.
4. Although I pass the model and normal matricies in the multiPhong pipeline, the normal matrix is
still being created with the inverse/transpose within the vertex. Please fix this situation to behave properly.
Extra: Uses Umer's DualQuaternians to handle the position and orientation of the Camera
Assignment 2:(16/20)
1. Build an actor class that contains model matrix, position, vel - the usual stuff.
2. Add a descriptor set inside each actor.
3. Add many characters to the scene.
Extra: Bind two descriptor set at one time - it's tricky but fun.
Assignment 3:(24/30)
Let's create some shadows. Introducing a shadow map. OR
Build a color picker as I discussed in Game258.
There are many video's and websites about shadow maps and color pickers. In class I will go over the basics.
This will take some time but the results are worth it.
OpenGL Shadow mapping
Extra: Remove the peter panning and shadow acne for shadows
Extra: Create a depth buffer for picking to include occlusion.
I guessed by the response I got from many of you on Tues is that you may not be ready for me to cut to loose on Vulkan code.
So maybe I'll just write out the rough TODO list.
1. Create the glsl and SPIRV files for the new pipelines - I think we have covered that.
2. VkPushConstantRange range = {};
range.stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT | VK_SHADER_STAGE_VERTEX_BIT; /// Send the push to both stages
3. Create an offscreen image:
a. Create an image. (VkImage)
b. Create a view of the image. (VkImageView)
c. Create a frame buffer. (VkFrameBuffer)
d. Create a render pass. (VkRenderPass)
e. Create a command buffer. probably need to make a command pool as well. (CommandBufferData)
f. Create a new d escriptor set
g. Create a new pipeline.
Assignment 4:(24/30)
Whatever you did in Assignment3 the other or a skybox
Or build a skybox, or use the compute shaders to handle collisions or something