Skip to content

Releases: Divangus/Particles_Library

ParticleLib Release

Choose a tag to compare

@Divangus Divangus released this 29 Jun 22:23
cb0dea0

ParticleLib

Welcome to ParticleLib, a C++ static library designed for creating and managing particle systems using OpenGL. This library provides an easy-to-use interface for implementing a variety of particle effects in your projects. Whether you're developing games, simulations, or visual effects, ParticleLib offers the tools you need to bring your particle systems to life.

This library has been developed as a Bachelor´s Degree Final Project.

Particle Overview

Utilities

Editable Particles

  • Allows customization of particle attributes such as velocity, color, scale, and lifetime.

Time-based Scale and Color

  • Enables scaling and color variation over the lifetime of particles.

Customizable Emission Rate

  • Control the emission rate to emit particles at a desired rate per second.

Three Types of Billboard

  • Supports three types of billboarding: screen-aligned, world-aligned, and axis-aligned.

Texture and Animated Texture

  • Incorporates static textures and supports animated textures for dynamic particle effects.

Instanced Rendering

  • Utilizes instanced rendering for efficient drawing of large numbers of particles.

Download and Implementation Instructions on Visual Studio

  • Download the Library below this page and unzip the file. You can also find an executable containing a demo to showcase the capabilities of the library.

  • Copy the Files of ParticleLib to your project.

  • Move the ParticleVShader.glsl and ParticleFShader.glsl to the WorkingDir of the project.

  • Once in Visual Studio, open the project properties.

  • Navigate to C/C++ -> General, and add the directory of the include folder and include/ThirdParty to Additional Include Directories.

  • Go to Linker -> General and add the path where the ParticleLib.Lib file is located to Additional Library Directories, depending on your version of Visual Studio and your Runtime Library (MT/MTd or MD/MDd).

  • Go to Linker -> Input and add "ParticleLib.lib" (without the quotes) to Additional Dependencies.

  • Finally, include "ParticleLib.h" in your code.

Third-Party Libraries

Used in ParticleLib

  • glad: Multi-Language GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs.
  • glm: OpenGL Mathematics (GLM) is a header-only C++ mathematics library for graphics software.
  • stb: Single-file public domain libraries for C/C++.

Used in the Demo

  • MathGeoLib: A C++ library for 3D math.
  • glew: The OpenGL Extension Wrangler Library.
  • DevIL: Developer's Image Library (DevIL) for image loading.
  • SDL: Simple DirectMedia Layer, a cross-platform development library.
  • ImGUI: Immediate Mode Graphical User Interface for C++.

Happy coding with ParticleLib!