This is journal noting down the topics I had to cover through my deep dive into D3D11.

  1. Rendering Triangles through rasterization: Knowledge about the rendering pipeline process where triangles are converted into pixels on the screen by the graphics processing unit (GPU) through a technique called rasterization.

  2. Model loading with normals: How to load 3D models into the graphics memory of the GPU and incorporate normal vectors for lighting calculations.

  3. Texture Mapping: I gained experience with texture mapping, where images are applied to 3D models to enhance their realism.

  4. Blinn-Phong shading model: I gained knowledge about the Blinn-Phong shading model, which is a widely used lighting model in computer graphics. It takes into account surface properties such as ambient, diffuse, and specular lighting.

  5. Direct3D 11 Pipeline for rasterization: I learned about the Direct3D 11 Pipeline for rasterization, which includes three stages: Vertex Shader, Geometry Shader, and Pixel Shader. I gained an understanding of the role of each stage and how to write shader code.

  6. Camera motion control: I learned how to control the camera in a 3D scene, allowing the user to move and interact with the scene.

What could be improved:

  1. Normal Mapping for textures: I could improve my skills by incorporating normal mapping, which adds fine details to textures, making surfaces appear more realistic.

  2. Instancing of models: I could improve my skills by learning how to efficiently render multiple instances of the same model, which is useful for creating large scenes with repeated objects.

  3. Better Scene representation: I could improve my skills by working on creating better scene representation, which includes things like lighting and shadowing.

  4. Extensive control over model objects and scene lights: I could improve my skills by learning how to give more extensive control to the user over model objects and scene lights, providing a more interactive experience.