Bbop est un projet de librairie graphique utilisant l'api opengl ( đ bientĂŽt sous vulkan đ ).
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 ).
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
Dans certain cas il est nécessaires d'installer glfw et glm en les compilants depuis leurs repo github.
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
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
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;
}
Merci d'avance de votre contribution au projet.
La librairie est libre de droit, merci d'avance de votre soutien.