All Projects → blueburn-cz → BBMOD

blueburn-cz / BBMOD

Licence: MIT License
Advanced 3D in GameMaker

Programming Languages

C++
36643 projects - #6 most used programming language
Yacc
648 projects
c
50402 projects - #5 most used programming language
GLSL
2045 projects
Xonsh
10 projects

Projects that are alternatives of or similar to BBMOD

DDDEditorGMS2
General purpose game editor made in Game Maker Studio 2. The basis for a lot of the tools I make.
Stars: ✭ 22 (-29.03%)
Mutual labels:  gamemaker, gamemaker-language, gamemaker-studio-2
dotobj
.obj/.mtl loader, written in native GML, for GameMaker Studio 2.3
Stars: ✭ 27 (-12.9%)
Mutual labels:  model, gamemaker, gamemaker-studio-2
Sublime-GameMaker-Studio-Language-Bundle
A sublime bundle for GameMaker Language (GML)
Stars: ✭ 32 (+3.23%)
Mutual labels:  gamemaker, gamemaker-language
SNAP
Easy data format saving and loading for GameMaker Studio 2.3.2
Stars: ✭ 49 (+58.06%)
Mutual labels:  gamemaker, gamemaker-studio-2
iota
Miniature delta time and time dilation library for GameMaker Studio 2.3.2
Stars: ✭ 19 (-38.71%)
Mutual labels:  gamemaker, gamemaker-studio-2
gms2-destructible-terrain
⛰️ Collidable, destructible terrain in GameMaker Studio 2
Stars: ✭ 24 (-22.58%)
Mutual labels:  gamemaker, gamemaker-studio-2
stitch
A Gamemaker Studio 2 Pipeline Development Kit. A CLI and Node.JS API for creating GMS2 pipelines. Includes cross-project imports, batch-creating/updating sprites and sounds, texture page management, and more.
Stars: ✭ 54 (+74.19%)
Mutual labels:  gamemaker, gamemaker-studio-2
ldview
Real-time 3D viewer for displaying LDraw models
Stars: ✭ 65 (+109.68%)
Mutual labels:  model, rendering
sonic-gms2
A GameMaker Studio 2 template project used for constructing games based on the Sonic the Hedgehog series.
Stars: ✭ 18 (-41.94%)
Mutual labels:  gamemaker, gamemaker-studio-2
Kawase
Kawase dual filter blur for GameMaker Studio 2
Stars: ✭ 23 (-25.81%)
Mutual labels:  gamemaker, gamemaker-studio-2
universal-model-vue
Universal Model for Vue
Stars: ✭ 25 (-19.35%)
Mutual labels:  model
pyvaru
Rule based data validation library for python 3.
Stars: ✭ 17 (-45.16%)
Mutual labels:  model
volrend
PlenOctree Volume Rendering (supports CUDA & fragment shader backends)
Stars: ✭ 419 (+1251.61%)
Mutual labels:  rendering
TJTextField
UITextField with underline and left image
Stars: ✭ 45 (+45.16%)
Mutual labels:  rendering
UniRate
Unity plugin to easily manage the application frame rate and rendering interval. Preventing battery power consumption and device heat, especially on mobile platforms.
Stars: ✭ 26 (-16.13%)
Mutual labels:  rendering
AGD-Studio
An integrated development environment for AGD
Stars: ✭ 39 (+25.81%)
Mutual labels:  gamemaker
php-json-schema-model-generator
Creates (immutable) PHP model classes from JSON-Schema files including all validation rules as PHP code
Stars: ✭ 36 (+16.13%)
Mutual labels:  model
gamedevguide
Game Development & Unreal Engine Programming Guide
Stars: ✭ 314 (+912.9%)
Mutual labels:  rendering
pbrtbook
pbrt 中文整合翻译 基于物理的渲染:从理论到实现 Physically Based Rendering: From Theory To Implementation
Stars: ✭ 221 (+612.9%)
Mutual labels:  rendering
pmod
Native cross platform library with language projection support for native code.
Stars: ✭ 22 (-29.03%)
Mutual labels:  model

BBMOD

The most powerful 3D rendering solution for GameMaker

License Discord

Table of Contents

About

BBMOD is the most powerful 3D rendering solution for GameMaker. We at BlueBurn believe that making 3D games in GameMaker should be for everyone and BBMOD fully reflects this idea with its simple workflow and powerful, yet easy to use GML Code library. Using our model conversion tool BBMOD CLI, you first convert your model from a common format like FBX, COLLADA, OBJ or glTF (the full list can be found here) into a custom binary format specially crafted for fast loading in GameMaker. Then, using the GML library, you can easily load the converted model (and its animations) and render it in just a few lines of code:

// Load model
model = new BBMOD_Model("Data/Model.bbmod");

// Create and assign material
material = BBMOD_MATERIAL_DEFAULT.clone();
material.BaseOpacity = sprite_get_texture(SprTexture, 0);
model.set_material("Material", material);

// Render model
bbmod_material_reset();
model.submit();
bbmod_material_reset();

Thanks to the BBMOD's powerful material system and physically based shaders, you can even use assets created in professional, industry standard software!

Features

Easy to learn

BBMOD library was designed to be as accessible as possible. Whether you are a beginner or an advanced GameMaker user, you will be able to make the most out of it!

Modern

BBMOD is clean and object-oriented, utilizing the latest GML Code features of GameMaker.

Module based

The entire library is split into folders or "modules", each adding more and more functionality, but only one of them is absolutely necessary! The more comfortable you get with BBMOD, the more of them you can use. Or stick to the basics, it is up to you and your project's needs!

Fully documented

From individual variables to entire structs and their methods, every little part of the library is documented. Each release also comes with a changelog so you know exactly what has changed!

The most powerful

BBMOD keeps developing and pushing 3D rendering in GameMaker even farther, so you can focus on making your game and let it do the heavy lifting for you!

Material system

BBMOD has a powerful and unique material system which allows you to sort draw calls on per-mesh basis. No more issues with drawing order of instances!

Animations

Skeletal animations are fully supported, even motion capture! Using animation state machines you will be able to add characters to your game in no time.

Dynamic lights and shadows

Create beautifully lit environments with BBMOD's built-in support for dynamic lights and shadows!

Physically based rendering

With support for metallic-roughness material workflow and image based lighting, you can use assets created in professional, industry standard software, that you would normally see in AAA 3D game engines.

Terrain rendering

One of the many modules is a Terrain module, using which you can easily create and render heightmap based terrains with up to five material layers controlled with a splatmap!

Post-processing & anti-aliasing

Make your game stand out with effects like color grading, chromatic aberration, vignette and more! BBMOD will also help you get rid of the jaggies using FXAA.

Dynamic batching

When performance is of concern, BBMOD comes with various trick for increasing FPS, like dynamic batching! Using dynamic batching you can render multiple instances of moving models in a single draw call.

Utilities

Using built-in GML functions can often times feel a little clunky. BBMOD fixes that by providing you with various utility functions and structs!

Multiplatform

From desktop and consoles to mobile and browsers! We make sure that BBMOD runs on every platform supported by GameMaker.

Tutorials, documentation and help

Tutorials for BBMOD can be found on its homepage at https://blueburn.cz/bbmod/tutorials. An online documentation for the latest release of BBMOD is always available at https://blueburn.cz/bbmod/docs/3. If you need any additional help, you can join our Discord server or contact us on GMC forums.

Demo project

Day Night Vignette and grayscale

To help you get started, BBMOD comes with a little demo project for you to explore, modify and maybe turn into your first complete 3D game! You can play it right now in your browser at https://blueburn.cz/bbmod/demo.

Assets used in the demo project are created by Kenney.nl and Poly Haven.

Support the development

Support us in developing BBMOD, get priority assistance and more of our amazing tools as a reward! Become our Patron.

BBMOD GUI BBMOD GUI - Model converter with live preview, material editor and more

PushEd 2 PushEd 2 - 2D & 3D level editor for GameMaker

Links

Special thanks

  • To Assimp for making BBMOD CLI possible!
  • To Kenney.nl for CC0 assets used in the demo project!
  • To Poly Haven for CC0 textures used in the demo project!
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].