Skip to content
Snippets Groups Projects
README.md 896 B
Newer Older
Bartosz Sobierajski's avatar
Bartosz Sobierajski committed
# Pixel

Bartosz Sobierajski's avatar
Bartosz Sobierajski committed
A Software-Renderer written entirely in Java.
Bartosz Sobierajski's avatar
Bartosz Sobierajski committed

## Getting started

Bartosz Sobierajski's avatar
Bartosz Sobierajski committed
Take a look inside the [Main.java](https://gitlab.uni-koblenz.de/bsobierajski/pixel/-/blob/main/src/main/java/de/bsobierajski/pixel/Main.java) file to get the general idea on how to setup and render a scene.

## Supported features

- Loading of .obj files
- Rendering of lines
- Rendering of triangles
- Programmable vertex, geometry, and fragment shaders
    - An implementation of the Phong reflection model with support for:
        - Point lights
        - Directional lights
        - Spotlights
- Backface culling
- Z-Buffering
- Clipping
- View-frustum culling
- Textures
- Texture filtering
- Cube maps
- Blending
- Post-processing filters

## Further ideas to implement
- Deferred shading
    - Stencil buffer
    - Shadow mapping
- Advanced texture filtering:
    - Mipmaps
    - Anisotropic texture filtering