Irrlicht (Cross platform 3d game engine) Client
Posted: Tue Jun 07, 2022 3:26 pm
I noticed that a while back there was some interest in making a desktop 3d client, but it always seemed to focus on making the webgl client work on a desktop. I don't know much about c++ coding, but maybe it would be easier to make an all-new client based on a 3d game engine. Of the game engines I looked at, the Irrlicht game engine has some features that make it a possible choice. First, it is cross-platform, and can be compiled on windows, linux, and osx. It also has many different renderers, including two software renderers, meaning it can run on any computer, regardless of if the computer has opengl. Most importantly, the license is gpl2+ compatible (at least, a major game based on it, tuxcart, is released under this license, and minetest, another game based on it is released under the gpl compatible MIT license).
Some features listed on their website:
High performance realtime 3D rendering using Direct3D and OpenGL [more]
Platform independent. Runs on Windows, Linux, OSX. Further platforms are in development and already used in projects.[more]
Huge built-in and extensible material library with vertex, pixel, and geometry shader support [more].
Seamless indoor and outdoor mixing through highly customizeable scene management. [more]
Character animation system with skeletal and morph target animation. [more]
Particle effects, billboards, light maps, environment mapping, stencil buffer shadows, and lots of other special effects. [more]
Several language bindings which make the engine available to other languages such as C#, VisualBasic, Delphi, Java …
Two platform and driver independent fast software renderers included. They have different properties (speed vs. quality) and feature everything needed: perspective correct texture mapping, bilinear filtering, sub pixel correctness, z-buffer, gouraud shading, alpha-blending and transparency, fast 2D drawing, and more.
Powerful, customizeable, and easy to use 2D GUI System with Buttons, Lists, Edit boxes, …
2D drawing functions like alpha blending, color key based blitting, font drawing, and mixing 3D with 2D graphics.
Clean, easy to understand, and well documented API with lots of examples and tutorials.
Written in pure C++ and totally object oriented.
Direct import of common mesh file formats: Maya (.obj), 3DStudio (.3ds), COLLADA (.dae), Blitz3D (.b3d), Milkshape (.ms3d), Quake 3 levels (.bsp), Quake2 models (.md2), Microsoft DirectX (.X)… [more]
Direct import of Textures: Windows Bitmap (.bmp), Portable Network Graphics (.png), Adobe Photoshop (.psd), JPEG File Interchange Format (.jpg), Truevision Targa (.tga), ZSoft Painbrush (.pcx)… [more]
Fast and easy collision detection and response.
Optimized fast 3D math and container template libraries.
Directly reading from (compressed) archives. (.zip, .pak, .pk3, .npk)
Integrated fast XML parser.
Unicode support for easy localisation.
Works with Microsoft VisualStudio, Metrowerks Codewarrior, Bloodshed Dev-C++, Code::Blocks, XCode, and gcc 3.x-4.x.
The engine is open source and totally free. You can debug it, fix bugs and even change things you do not like. And you do not have to publish your changes: The engine is licensed under the zlib licence, not the GPL or the LGPL.
Here is the license for it:
Some features listed on their website:
High performance realtime 3D rendering using Direct3D and OpenGL [more]
Platform independent. Runs on Windows, Linux, OSX. Further platforms are in development and already used in projects.[more]
Huge built-in and extensible material library with vertex, pixel, and geometry shader support [more].
Seamless indoor and outdoor mixing through highly customizeable scene management. [more]
Character animation system with skeletal and morph target animation. [more]
Particle effects, billboards, light maps, environment mapping, stencil buffer shadows, and lots of other special effects. [more]
Several language bindings which make the engine available to other languages such as C#, VisualBasic, Delphi, Java …
Two platform and driver independent fast software renderers included. They have different properties (speed vs. quality) and feature everything needed: perspective correct texture mapping, bilinear filtering, sub pixel correctness, z-buffer, gouraud shading, alpha-blending and transparency, fast 2D drawing, and more.
Powerful, customizeable, and easy to use 2D GUI System with Buttons, Lists, Edit boxes, …
2D drawing functions like alpha blending, color key based blitting, font drawing, and mixing 3D with 2D graphics.
Clean, easy to understand, and well documented API with lots of examples and tutorials.
Written in pure C++ and totally object oriented.
Direct import of common mesh file formats: Maya (.obj), 3DStudio (.3ds), COLLADA (.dae), Blitz3D (.b3d), Milkshape (.ms3d), Quake 3 levels (.bsp), Quake2 models (.md2), Microsoft DirectX (.X)… [more]
Direct import of Textures: Windows Bitmap (.bmp), Portable Network Graphics (.png), Adobe Photoshop (.psd), JPEG File Interchange Format (.jpg), Truevision Targa (.tga), ZSoft Painbrush (.pcx)… [more]
Fast and easy collision detection and response.
Optimized fast 3D math and container template libraries.
Directly reading from (compressed) archives. (.zip, .pak, .pk3, .npk)
Integrated fast XML parser.
Unicode support for easy localisation.
Works with Microsoft VisualStudio, Metrowerks Codewarrior, Bloodshed Dev-C++, Code::Blocks, XCode, and gcc 3.x-4.x.
The engine is open source and totally free. You can debug it, fix bugs and even change things you do not like. And you do not have to publish your changes: The engine is licensed under the zlib licence, not the GPL or the LGPL.
Here is the license for it:
And here is a link to the website:https://irrlicht.sourceforge.io/?page_id=45Copyright © 2002-2010 Nikolaus Gebhardt
This software is provided ‘as-is’, without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.