All Projects → dougbinks → BunnyLOD

dougbinks / BunnyLOD

Licence: MIT License
Cross platform GLFW based port of Stan Melax's BunnyLOD Easy Mesh Simplification

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to BunnyLOD

Methanekit
🎲 Modern 3D graphics made simple with cross-platform C++17 meta-API on top of DirectX 12 & Metal (Vulkan is coming)
Stars: ✭ 197 (+228.33%)
Mutual labels:  gamedev, cmake, graphics-programming
Rabbittoolbox
🤸🏾‍♀️👗开源的动画渲染软件,提倡以简单、易用,高质量的物理演算以及渲染质量和性能,为喜爱二次元动画的用户降低视频制作门槛
Stars: ✭ 309 (+415%)
Mutual labels:  gamedev, glfw, graphics-programming
Vxr
General purpose engine written in C++ with emphasis on materials rendering (PBR, clear coat, anisotropy, iridescence)
Stars: ✭ 181 (+201.67%)
Mutual labels:  gamedev, glfw, graphics-programming
Magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
Stars: ✭ 3,728 (+6113.33%)
Mutual labels:  gamedev, cmake, glfw
Glfw
Go bindings for GLFW 3
Stars: ✭ 1,069 (+1681.67%)
Mutual labels:  gamedev, glfw
Lighthouse2
Lighthouse 2 framework for real-time ray tracing
Stars: ✭ 542 (+803.33%)
Mutual labels:  gamedev, glfw
Magnum Plugins
Plugins for the Magnum C++11/C++14 graphics engine
Stars: ✭ 66 (+10%)
Mutual labels:  gamedev, cmake
Bgfx
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Stars: ✭ 10,252 (+16986.67%)
Mutual labels:  gamedev, glfw
Magnum Bootstrap
Bootstrap projects for Magnum C++11/C++14 graphics engine
Stars: ✭ 69 (+15%)
Mutual labels:  gamedev, cmake
Diligentengine
A modern cross-platform low-level graphics library and rendering framework
Stars: ✭ 2,142 (+3470%)
Mutual labels:  gamedev, graphics-programming
Magnum Examples
Examples for the Magnum C++11/C++14 graphics engine
Stars: ✭ 180 (+200%)
Mutual labels:  gamedev, cmake
Cpp 3d Game Tutorial Series
C++ 3D Game Tutorial Series is a YouTube tutorial series, whose purpose is to help all those who want to take their first steps in the game development from scratch.
Stars: ✭ 400 (+566.67%)
Mutual labels:  gamedev, graphics-programming
Obengine
2D Game Engine with Lua Scripting made on top of SFML !
Stars: ✭ 335 (+458.33%)
Mutual labels:  gamedev, cmake
3d Game Shaders For Beginners
🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
Stars: ✭ 11,698 (+19396.67%)
Mutual labels:  gamedev, graphics-programming
isosurface
Isosurface extraction using Marching Cubes and pure WebGL.
Stars: ✭ 66 (+10%)
Mutual labels:  gamedev, graphics-programming
Flycube
Graphics API wrapper is written in C++ on top of Directx 12 and Vulkan. Provides main features including ray tracing.
Stars: ✭ 78 (+30%)
Mutual labels:  gamedev, graphics-programming
Kinectazuredkprogramming
Samples about Kinect Azure DK programming
Stars: ✭ 92 (+53.33%)
Mutual labels:  cmake, glfw
Opengl cmake skeleton
❤️ A ready to use cmake skeleton using GLFW, Glew and glm. 👍
Stars: ✭ 118 (+96.67%)
Mutual labels:  cmake, glfw
Diligentsamples
Sample projects demonstrating the usage of Diligent Engine
Stars: ✭ 138 (+130%)
Mutual labels:  gamedev, graphics-programming
gamedevguide
Game Development & Unreal Engine Programming Guide
Stars: ✭ 314 (+423.33%)
Mutual labels:  gamedev, graphics-programming

Original code: https://github.com/melax/sandbox/tree/master/bunnylod

More information & article link: http://www.melax.com/polychop

Polygon Reduction Demo
By Stan Melax (c) 1998
http://www.melax.com

Mouse dragging spins the rabbit.

August 2014: code style upgraded to be more consistent with graphics/gamdev conventions

MIT Licensed as per https://github.com/melax/sandbox/blob/master/LICENSE

BunnyLOD Cross Platform Port

May 2020: Cross platform port using GLFW and CMake by Doug Binks

I have made sufficient and minimal changes to Stan Melax's code to get it running with GLFW on Windows, OSX and Linux.

The main interesting code is in progmesh.h and progmesh.cpp.

The code requires a C++14 compatible compiler. Visual Studio on Windows, Clang on OSX and GCC on Linux tested.

BunnyLOD screenshot

Getting the code

The easiest way to get hold of the starter code is to run the following command using a shell you can run git from:

git clone --recursive https://github.com/dougbinks/BunnyLOD

If you are on Windows you can download git from git-scm.com/download/win and use the right click menu in Windows File Explorer to "Git Bash here" and then run git commands.

This will create the directory GLFW-CMake-starter and get the latest source code, using the --recursive option to download the GLFW code which is included in the repository as a submodule. If you want to run further git commands from the command line you'll need to cd into the directory:

cd BunnyLOD

Alternatively you can use a git GUI program such as Fork to get the code. Most of these will automatically download the git submodules.

If you download the code from GitHub via the "Download ZIP" approach, you'll also need to download GLFW into the glfw folder. The correct version can be found by clicking on the glfw folder you see on the front page of the BunnyLOD GitHub repository.

Using CMake to create the project

From a command prompt in the BunnyLOD directory:

  1. mkdir build
  2. cd build
  3. cmake ..
  4. Either run make all or for Visual Studio open BunnyLOD.sln

Also see

BGFX example 42-bunnlod by cloudwu: https://bkaradzic.github.io/bgfx/examples.html#bunnylod BGFX example 42-bunnlod screenshot

This port to render with the BGFX GFX API also adds a Dear ImGui UI and the code is converted to C.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].