Skip to content

This repository contains a project called "particles" that explores GPU-accelerated particles using SDL_shadercross. It includes build instructions for Windows, Linux, and MacOS, along with controls for interacting with the particle system. πŸ™πŸŒŸ

License

Notifications You must be signed in to change notification settings

IonuZes/particles

Repository files navigation

Particles 🌌

Welcome to the Particles repository! This project serves as an SDL_shadercross experiment, exploring various shader technologies and graphics programming. Here, you'll find examples and tools to work with different shading languages and graphics APIs.

Download Releases

Table of Contents

Introduction

The Particles project focuses on shader programming using SDL and ShaderCross. It provides a platform to experiment with various shading languages, including GLSL, MSL, and DXIL. The goal is to create a better understanding of how shaders work across different graphics APIs.

Getting Started

To begin using this project, you can download the latest release from our Releases section. Make sure to download the necessary files and execute them to start experimenting with shader technologies.

Examples

This repository contains several examples that demonstrate the use of shaders in various contexts. Each example is designed to showcase specific features and capabilities of the shader languages supported.

Example 1: Basic Shader

This example illustrates a simple shader that renders particles on the screen. It serves as a foundation for more complex effects.

Example 2: Advanced Lighting

In this example, we explore advanced lighting techniques using shaders. You will learn how to implement different lighting models to enhance the visual quality of your graphics.

Example 3: Post-Processing Effects

This example demonstrates how to apply post-processing effects using shaders. You'll see how to create effects like bloom and motion blur.

Supported Technologies

The Particles project supports a range of technologies, including:

  • C: The core programming language for this project.
  • DXIL: A low-level intermediate representation for DirectX.
  • GLSL: The OpenGL Shading Language.
  • MSL: Metal Shading Language for macOS and iOS.
  • SPIR-V: A binary intermediate language for representing shaders.
  • SDL: Simple DirectMedia Layer for multimedia applications.
  • SDL3: The latest version of SDL, providing new features and improvements.

Installation

To set up the Particles project, follow these steps:

  1. Clone the repository:

    git clone https://github.com/IonuZes/particles.git
  2. Navigate to the project directory:

    cd particles
  3. Install the required dependencies. Ensure you have SDL and ShaderCross installed on your system.

  4. Build the project:

    make

Usage

After successfully building the project, you can run the examples provided. Use the following command to execute an example:

./example_name

Replace example_name with the name of the specific example you want to run.

Contributing

We welcome contributions to the Particles project. 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 commit them.
  4. Push your branch to your forked repository.
  5. Submit a pull request detailing your changes.

License

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

Contact

For questions or suggestions, feel free to reach out:

Thank you for exploring the Particles project! We hope you find it useful for your shader programming experiments. For more information and updates, visit our Releases section.

About

This repository contains a project called "particles" that explores GPU-accelerated particles using SDL_shadercross. It includes build instructions for Windows, Linux, and MacOS, along with controls for interacting with the particle system. πŸ™πŸŒŸ

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •