[DEPRECATED] Project: Animation of Tilting Objects Falling Due to Gravity
        by Nathaniel Rabaya

        Example of what the object will fall like:
        

        Features:
            - 3D Models (Find Online)
            - Animation
            - Specular Mapping (Highlights + Reflection)
            - Normal Mapping (Object Texture + Bump Mapping)
            - Ray Tracing
            - Light Source
            - Multiple objects falling due to gravity

        External Sources
            - Tipping force formula for identify tipping point of objects
        
        ===========================================================================================
        

        New Project: Animation of a Low Poly Character Model in OpenGL
            by Nathaniel Rabaya

        An example of a low poly model:
        

        The character I want to animate:
        

        There isn't an example of what I want to animateas a gif, but the first section of this video
        is what I aimed to animate

        Possible Features (Too Much Too Handle -> Make Up As I Go):
            - Self made textures (Clip Studio) and models (OpenGl Tris)
            - Perlin noise to give texturing of the character's material
            - Specular Mapping for reflective textures on armor
            - Normal Mapping to add roughness to textures
            - Multiple different colored light sources
            - Outline the model via stencil testing
            - Add bloom to fires
            - Create a different shader (cel/toon shading)

        =====================================================================================

        Using Gordon's model.cpp as a reference, I implemented a rotating camera
        that captures a screenshot of the current frame and convert it into a .gif
        file. The camera is done by similarily to how we created a cyclinder in
        OpenGL.

        
        
        I would like the camera to be slower; however, taking and saving many screenshots
        would take up alot of resources and would cause some images to not be written.

        FEATURES WIP:
            - Model in OpenGL (need to rewrite model function for textures)

        =====================================================================================
        
        I added a temporary skybox to the scene via GL_QUADS which I would later add
        textures once I make and implement my Blender model.

        

        FEATURES WIP:
            - Model in OpenGl (need to rewrite model function for textures)
            - Skybox (make texture map for sky and implement it to skybox)

        =====================================================================================

        To add some movement in my scene, I plan on adding blue fire surrounding my
        model and placing around patches of grass. The cross represents
        grass and the singular plane will be fire.

        

        The overall aesthetic I want the scene to look like  will be akin to that
        of the PS1 era where everything looks crude and low poly.

        FEATURES WIP:
            - Model in OpenGl (need to rewrite model function for textures)
            - Skybox (make texture map for sky and implement it to skybox)
            - Wavy Planes
                - Fire (make a ring of fire and add textures)
                - Grass (add random patches of grass with textures)

        =====================================================================================

        Outside of OpenGL, I am working on setting up making my low poly model in blender.
        First, I made a reference sheet of what my model may look like in an art program
        called Clip Studio Paint.

        

        Following this YouTube playlist:
        Crashune Academy: Blender 4.2+ Character Modeling Tutorial Series
        I learnt some key keybinds in Blender, how to use the tools in edit mode, and constructed my model.

        Here is the final build of the model without the textures:
        

        Front View:
        

        Side View:
        

        Rear View:
        

        =====================================================================================

        After creating my model, I now will make the textures of the model itself.
        I had two options, either manually make a texture map of the unwrapped model and
        unwrapped the model to its designated texture coordinates or create the textures
        manually on Blender. I opted on creating the textures in Blender with the help of
        this video: Texture Blending in Blender for Absolute Beginners

        =====================================================================================

        For the environment itself, I made the fire surrounding my model in a cylinderical
        manner and placed the grass models inside so that it doesn't feel empty inside.
        I made the textures of both the fire and the hard-to-see grass in Clip Studio Paint
        in a low resolution (32x32).

        Gif of what I currently have:
        

        What the final model looks like:
        

        There were issues when trying to load the model into the scene, mainly just
        rendering in and textures. In comparing the "thick.obj" and my .obj file, I found
        how the faces are rendered are different in both files. In "thick.obj", the faces
        consisted of only 3 values ( Ex: f 1 2 3 ), while my .obj had 3 values consisting
        of 3 arrayed values (Ex: f 1/2/3 4/5/6 7/8/9 ). Because of this, I had to alter
        the "buildModel" function to account for this difference.

        FEATURES WIP:
            - Textures for Model
            - Skybox (make texture map for sky and implement it to skybox)