Skip to content

getItemFromBlock/SoftwareRasterizer

Repository files navigation

Rasterizer project

THe goal of this project was to create a rasterizer program, running on CPU. This project was done as a part of our 3d rendering classes, at the school ISART Digital.

Summary

Keys

  • W A S D : Move.
  • Mouse : Rotate Camera.
  • E : Fly up.
  • Q : Fly down.
  • Left Shift : go faster.
  • F1 : Enable/Disable WireFrame.
  • F2 : Enable/Disable MSAA filtering.


  • Various versions

    • Version 1:
      A triangle is displayed, with a color interpolated between the 3 points (RGB).
    • Version 2:
      A red Cube and a blue sphere are displayed to show the z-buffer.
    • Version 3:
      A red Cube and a blue sphere are displayed to show the lighting under the Phong model.
    • Version 4:
      A red Cube and a blue sphere are displayed to show the illumination under the Blinn-Phong model in per-pixels. The Cube and the Sphere are rotated in order to show the correct calculation of the normals.
    • Version 5:
      Show the projection by rendering the precedent Cube and Sphere.
    • Version 6:
      A Cube Textured is displayed to show the texturing of the triangles.
    • Version 7:
      Activate the Wireframe on the previous cube. It can be disabled with the F1 key.
    • Version 8:
      Makes a large cube opaque, and another smaller cube 50% transparent that rotates on itself.
    • Version 9:
      Renders a 3d model of a guard to show everything we've done before.
    • Version 10:
      Render a scene to show the anti-aliasing
    • In all versions:
      • All models/meshs can be displayed, change position, rotation, scale, texture, color, shader and bilinear filtering.
      • The MSAA value can be change.
      • Perspective correction can be disabled/enabled.
      • The wireframe can be disabled/enabled.
      • Orthographic vision can be disabled/enabled.
      • Can add Lights/Show Lights.


    Ui

    Possiblity to change scale of every windows.

    In the interface, the tab:
    • Scene : allows you to add lights, delete them, change the ambient, diffuse and specular parameters. The lights can have different colors and different luminosity. You can also show light.
    • Config : allows to display the wireFrame render, the orthographic vision, the perspective correction, the light in per pixels and you can change the MSAA value. Also displays the number of FPS. And allow you to change the color of the background. You can also lock the scale horizontaly, verticaly and in 4/3. You can also change the filter with the slider (default : No filter). There is more than 10 filters (see in gallery )
    • Triangles : Displays the number of triangles in total, and the number of triangles drawn. Also displays the number of triangles per models, When you click on a models buttons you can: see the name of the mesh, change the position, the rotation, the scale of the models, the color, the shader, and the texture. Can also choose to show or not the meshs and enable or not the bilinear filtering of every Models. There is 4 shaders (see in gallery )
    • Versions : Allows you to change versions.
    • Framebuffer : Displays the scene.

    Gallery

    Credits

    About

    No description, website, or topics provided.

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published