Skip to content

Latest commit

 

History

History
113 lines (86 loc) · 6.85 KB

README.md

File metadata and controls

113 lines (86 loc) · 6.85 KB

Shader Collection

License

Introduction

This is a collection of shaders written in HLSL using Evergine. The library provides a variety of shader effects to enhance the visual quality of your graphics applications. It includes implementations of popular effects such as Blinn-Phong, BRDF Microfacet, BRDF + IBL, IBL, etc.

Big-Picture

Shaders

  • Blinn-Phong: Implements the classic Blinn-Phong lighting model for realistic shading and highlights.
  • BRDF Microfacet: Offers a microfacet-based BRDF (Bidirectional Reflectance Distribution Function) for accurate material rendering.
  • IBL: Implements Image-Based Lighting (IBL) to achieve realistic reflections and lighting effects.
  • BRDF + IBL: Combines BRDF with Image-Based Lighting (IBL) techniques for realistic and dynamic lighting.
  • Equirectangular Reflections: Provides reflections based on equirectangular environment maps.
  • TextureCube Reflections: Offers reflections using cube maps as environment maps.
  • Fur Shells: Simulates fur or hair effects using shell rendering techniques.
  • Explode Effect: Creates an explosion effect by manipulating vertex positions.
  • Extrude Pyramid: Extrudes a pyramid shape from a base geometry.
  • Extrude Triangles: Extrudes triangles along their normals to create a 3D effect.
  • Flat Shading: Applies flat shading to achieve a low-polygon aesthetic.
  • Fresnel: Implements Fresnel effects for reflective materials.
  • Interior Mapping: Simulates the appearance of interiors behind windows or other surfaces.
  • Parallax Corrected Cube Mapping: Provides improved cube map reflections with parallax correction.
  • Normal Mapping: Enhances surface lighting and detail using normal maps.
  • Parallax Mapping: Simulates depth on textured surfaces by offsetting texture coordinates.
  • Parallax Occlusion Mapping: Enhances the depth simulation of Parallax Mapping with occlusion handling.
  • Toon Shading: Applies a toon or cel-shading effect to achieve a cartoon-like rendering style.
  • Translucency Shading: Simulates light passing through translucent materials for realistic rendering.
  • Vertex Normals GS: Calculates vertex normals in the Geometry Shader stage for improved shading accuracy.
  • Wireframe GS: Renders objects as wireframes using the Geometry Shader stage.
  • WrapShading: Fast subsurface scattering by modulating the shading based on their orientation relative to the incident light.

Screenshots

Here are some screenshots showcasing the shader effects in action:

Blinn-Phong BRDF Microfacet BRDF + IBL Equirectangular Reflections Explode Effect Extrude Pyramid Extrude Triangles Flat Shading Flat Shading Fresnel Fur Shells IBL Interior Mapping Normal Mapping Parallax Corrected Cube Mapping Parallax Mapping Parallax Occlusion Mapping TextureCube Reflections Toon Shading Translucency Shading Vertex Normals GS Wireframe GS WrapShading

Requirements

  • Evergine: Download Evergine (Version 2023.3.1 or higher)
  • Graphics API: DirectX 11/12, OpenGL or Vulkan

Take a look

Follow the steps below to get started with using the shader library:

  1. Clone the repository: git clone https://github.com/your-username/your-repo-name.git
  2. Install the necessary Evergine version using the Evergine Launcher.
  3. Build and run your project to see the shader effects in action.

Contributing

Contributions to the shader library collection are welcome! If you would like to contribute, please follow these guidelines:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and ensure they are well-tested.
  4. Commit your changes with a clear and descriptive message.
  5. Push your changes to your forked repository.
  6. Submit a pull request to the main repository, explaining the changes you made.

Screenshots

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Acknowledgments

List any resources, libraries, or tutorials that you found helpful while creating this shader library collection:

Contact

If you have any questions, suggestions, or feedback, feel free to open and issue and share your ideas.