https://github.com/ayoubcoding21/noisebench
A GLSL 1.2 noise benchmark based ashima/webgl-noise.
https://github.com/ayoubcoding21/noisebench
c glsl glsl-shaders make makefile noise-algorithms opengl opengl2
Last synced: 3 months ago
JSON representation
A GLSL 1.2 noise benchmark based ashima/webgl-noise.
- Host: GitHub
- URL: https://github.com/ayoubcoding21/noisebench
- Owner: AyoubCoding21
- License: gpl-2.0
- Created: 2023-12-07T15:02:23.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-06-29T11:34:30.000Z (11 months ago)
- Last Synced: 2025-02-25T21:45:21.041Z (3 months ago)
- Topics: c, glsl, glsl-shaders, make, makefile, noise-algorithms, opengl, opengl2
- Language: GLSL
- Homepage:
- Size: 65.4 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
Awesome Lists containing this project
README
# NoiseBench
NoiseBench is a 2-versions noise sampling algorithm benchmark. It allows PCs to test their sampling performances, It is based off ashima/webgl-noise's benchmark and demo but a bit more intense on their hosts and modified to use GLUT. This project is available for Debian-based Linux PCs only.
# Terms used here
**Noise :** Noise is an algorithm used to generate pseudo-random numbers when the language that you are using does not have truly random numbers.
**Pseudo-random :** Pseudo-random is 50% random, It gives a random feeling but is not truly randomical generation.
# Explanation (Graphics Pros only)
So, how this project works ?
And how can I update some stuff in it ?Well, The project uses multiple noise algorithms to make procedural textures that are used instead of real sampler2D or sampler3D textures, then they are mixed up and processed to give the final color of each pixel.
The animation and factors for the noise algo is used by texture coordinates and an uniform variable that takes the time from the main.c's ```glutSetOption(GLUT_ELAPSED_TIME);``` function.
For the v0.2, a sphere is drawed using Quads, which are more computationally intensive than Triangles.
Then a fire noise (kinda like the Sun surface) is generated using 4 different noise types : cellular, simplex (normal and gradient), and classic Perlin noise then processed and added to fire color and then pushed to ```gl_FragColor```.
For FPS measuring, they measure the FPS like in ElectroBench, but they calculate sampling rate also (in MSamples/s). And they output it to the title and the console.
# Installation
*For version 0.1*:
```sh
sudo apt install git make --no-install-recommends -y
git clone https://github.com/AyoubCoding21/NoiseBench
cd NoiseBench/NoiseBench-0.1/
make
```*For version 0.2*:
```sh
sudo apt install git make --no-install-recommends -y
git clone https://github.com/AyoubCoding21/NoiseBench
cd NoiseBench/NoiseBench-0.2/
make
```# Conclusion
So I hope you enjoyed the benchmark, please tell me your FPS in the following email : [email protected], That helps us improve the benchmark, And for donating, contact me at the same e-mail.
# ***ENJOY !!!!***