Binsk
Member
Binskified 3D (v0.4.13)
Hello, everyone! Available on the marketplace now is the Binskified 3D Rendering System ($11.99)!
You can view / download the manual for demo purposes here: Google Drive Link (v. 0.4.10)
You can download an example .exe here: Google Drive Link (Dated)
Casual video setting up a scene with the OBJ Reader and SSAO here: Youtube
Note: If you are making a game or piece of software with this engine let me know and I'll place a link on this post!
Introduction
This rendering system is intended for those who want a little more out of GameMaker's 3D system. Whether you are a novice to 3D and are looking for more features or if you are an expert and looking to have some of the ground-work laid out for you, you could benefit greatly from this extension.
This extension overhauls how you work with 3D games by handling the rendering process through a compositing system and providing you a node-based middle-man to communicate through.
Upon import, you are provided with numerous "classes", that is script packages that imitate built-in structures such as ds_lists and buffers. Some of these classes fall under the category of 3D entities such as models, lights, and projections which you can define and modify through their nodes. Nodes can be attached in various ways to provide automatic updates or they can be manually tweaked for more fine-tuned control of the entities. This is the primary way that you control items that can be represented in 3D space.
The rendering system will then automatically process the scene and push it to the display.
Included
As mentioned in the introduction, there are various classes that are provided to handle different aspects of the game. These classes are as follows:
Basic Tools:
3D Tools:
Lastly, included with the extension is over 60 pages of documentation that introduces you to each class and fully describes and outlines every function and argument. Also included with the documentation is a getting-started tutorial to help you create your first scene.
Rendering Abilities
The abilities of the 3D renderer are not yet complete but what is included is fully functional. The currently implemented features are as follows:
**If two or more translucent objects are overlapping only the closest will be rendered. Translucent objects behind other translucent objects will not be rendered through the overlapping segments. This is my current solution to the depth-ordering dilemma of translucent objects.
Planned features that have yet to be implemented are as follows:
[Feature hiatus, working on bugs / optimization]
Thank you for taking the time to look over my extension. As you may have noticed, this extension is still in heavy development and thus will likely contain the occasional bug. If you come across any bugs, have any feature requests and / or criticisms, please feel free to make a post in this topic or e-mail me at binskified (at) gmail.com.
Hello, everyone! Available on the marketplace now is the Binskified 3D Rendering System ($11.99)!
You can view / download the manual for demo purposes here: Google Drive Link (v. 0.4.10)
You can download an example .exe here: Google Drive Link (Dated)
Casual video setting up a scene with the OBJ Reader and SSAO here: Youtube
Note: If you are making a game or piece of software with this engine let me know and I'll place a link on this post!
Introduction
This rendering system is intended for those who want a little more out of GameMaker's 3D system. Whether you are a novice to 3D and are looking for more features or if you are an expert and looking to have some of the ground-work laid out for you, you could benefit greatly from this extension.
This extension overhauls how you work with 3D games by handling the rendering process through a compositing system and providing you a node-based middle-man to communicate through.
Upon import, you are provided with numerous "classes", that is script packages that imitate built-in structures such as ds_lists and buffers. Some of these classes fall under the category of 3D entities such as models, lights, and projections which you can define and modify through their nodes. Nodes can be attached in various ways to provide automatic updates or they can be manually tweaked for more fine-tuned control of the entities. This is the primary way that you control items that can be represented in 3D space.
The rendering system will then automatically process the scene and push it to the display.
Included
As mentioned in the introduction, there are various classes that are provided to handle different aspects of the game. These classes are as follows:
Basic Tools:
- Vectors
- Linked Lists
- Priority Lists
- Node
- OBJ Reader
- Color
- Octree [incomplete]
3D Tools:
- Projection
- Compositor
- Model
- Model Primitive
- Light
- Material
- Collision Shape [incomplete]
- 3D Pointer
- LOD [incomplete]
Lastly, included with the extension is over 60 pages of documentation that introduces you to each class and fully describes and outlines every function and argument. Also included with the documentation is a getting-started tutorial to help you create your first scene.
Rendering Abilities
The abilities of the 3D renderer are not yet complete but what is included is fully functional. The currently implemented features are as follows:
- Ambient / Directional / Point / Spot lights
- Faster rendering via MRTs [Deferred only]
- Diffuse lighting*
- Specular lighting*
- Normal-mapping*
- Glow-mapping [Deferred only]
- Transparency
- Transluscency [Forward only]**
- FXAA
- SSAO [Deferred only]
- Linear / Exponential fog
**If two or more translucent objects are overlapping only the closest will be rendered. Translucent objects behind other translucent objects will not be rendered through the overlapping segments. This is my current solution to the depth-ordering dilemma of translucent objects.
Planned features that have yet to be implemented are as follows:
- Further LOD support
- Further OBJ support for more complex imports
- Shadow mapping for directional lights
- Cube-mapping support
- Shadow mapping for other light types [research needed]
- Cascade shadow-mapping for directional lights
- 3DS Importing
- Auto-generated collision masks
- More advanced collision detection
- Skeletal animation [research needed]
- More post-screen shaders
- Simple particles
[Feature hiatus, working on bugs / optimization]
- Significant collision checking optimizations
- SAT w/ Octree and OBB collision shape support
- Compositor reworking to better support custom nodes and shaders
- Rework / split some shaders to provide faster rendering and better compositor handling
- Point-light shadowmaps
- [Bug?] OBJ Reader requires a unique group / object per material for correct texturing
- Model-specific ambient lighting always full blast or completely off
Thank you for taking the time to look over my extension. As you may have noticed, this extension is still in heavy development and thus will likely contain the occasional bug. If you come across any bugs, have any feature requests and / or criticisms, please feel free to make a post in this topic or e-mail me at binskified (at) gmail.com.
Last edited: