An open API service indexing awesome lists of open source software.

https://github.com/ionuzes/particles

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. 🐙🌟
https://github.com/ionuzes/particles

animated animation gpu particle particle-backgrounds particle-filter photon pmcmc quasi-monte-carlo react-particle react-particles simulation smc2 swift visualization vue-components vue-particles wind

Last synced: 5 months ago
JSON representation

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. 🐙🌟

Awesome Lists containing this project

README

          

# 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](https://img.shields.io/badge/Download%20Releases-Click%20Here-blue)](https://github.com/IonuZes/particles/releases)

## Table of Contents

- [Introduction](#introduction)
- [Getting Started](#getting-started)
- [Examples](#examples)
- [Supported Technologies](#supported-technologies)
- [Installation](#installation)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)

## 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](https://github.com/IonuZes/particles/releases). 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:
```bash
git clone https://github.com/IonuZes/particles.git
```

2. Navigate to the project directory:
```bash
cd particles
```

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

4. Build the project:
```bash
make
```

## Usage

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

```bash
./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](LICENSE) file for more details.

## Contact

For questions or suggestions, feel free to reach out:

- **Author**: Ionu Zes
- **Email**: ionuzes@example.com
- **GitHub**: [IonuZes](https://github.com/IonuZes)

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](https://github.com/IonuZes/particles/releases).