
Bbop est un projet de librairie graphique utilisant l'api opengl ( :point_right: bientôt sous vulkan :point_left: ).
La librairie permet de créer des jeux vidéos 2D ou des applications de bureau. Elle embarque un grand nombre d'objets en pasant par des formes géométriques et aux sprites jusqu'à la gestions de l'éclairages et des effets de lumières.
Elle est principalement développée et maintenue sous linux et macOS ( je fais tous mon possible pour une sortie sur window ).
Naviguer




Installation
Librairies externes nécessaires

sudo apt-get install libglew-dev libglfw3-dev xorg-dev libfreetype6-dev libstb-dev

(I use arch btw)
sudo pacman -S glew glfw stb freetype2 glm

brew install glew freetype glfw glm
:warning: Issue avec glfw et glm :warning:
Dans certain cas il est nécessaires d'installer glfw et glm en les compilants depuis leurs repo github.
Compiler et installer bbop

git clone https://github.com/Alexander7474/Bbop-Library.git
cd Bbop-Library
make && sudo make install

git clone https://github.com/Alexander7474/Bbop-Library.git
cd Bbop-Library
Avant d'utiliser make pour compiler et installer bbop sur macOS il faut modifier le makefile selon commentaires de celui ci.
make && sudo make install
Compiler un projet

g++ -I/usr/include/freetype2 -c main.cpp -o main.o
g++ main.o -o final -std=c++11 -Wall -lbbop -lGLEW -lGL -lglfw -lfreetype

g++ -I/opt/homebrew/Cellar/freetype/2.13.2/include/freetype2 -I/opt/homebrew/Cellar/glew/2.2.0_1/include -I/usr/local/include/GLFW -c main.cpp -o main.o
g++ main.o -o final -std=c++11 -Wall -lbbop -L/opt/homebrew/Cellar/freetype/2.13.2/lib -L/opt/homebrew/Cellar/glew/2.2.0_1/lib -framework Cocoa -framework OpenGL -framework IOKit -lfreetype -lglfw3 -lGLEW.2.2.0
Exemple
int main()
{
//creation de la fenêtre glfw
GLFWwindow * window;
//initialisation de la lib
bbopInit(1920,1080,"window name",window);
//main while loop
while (!glfwWindowShouldClose(window))
{
// clear de la fenêtre en noire
bbopCleanWindow(window,Vector3i(0,0,0),1.0f));
///////////////
// ton code ici
///////////////
// vérification des erreurs
bbopErrorCheck();
// swap du back buffer avec le front buffer
glfwSwapBuffer(window);
// recupération des events glfw
glfwPollEvents();
}
// destruction de la fen^tre et fin de glfw
glfwDestroyWindow(window);
glfwTerminate();
return 0;
}
Report Bug
Merci d'avance de votre contribution au projet.

Supporting
La librairie est libre de droit, merci d'avance de votre soutien.

Contributors