#3d #game-engine #engine #gamedev
|
|
10 ani în urmă | |
|---|---|---|
| BansheeCore | 10 ani în urmă | |
| BansheeD3D11RenderAPI | 10 ani în urmă | |
| BansheeD3D9RenderAPI | 10 ani în urmă | |
| BansheeEditor | 10 ani în urmă | |
| BansheeEditorExec | 10 ani în urmă | |
| BansheeEngine | 10 ani în urmă | |
| BansheeFBXImporter | 10 ani în urmă | |
| BansheeFontImporter | 10 ani în urmă | |
| BansheeFreeImgImporter | 10 ani în urmă | |
| BansheeGLRenderAPI | 10 ani în urmă | |
| BansheeMono | 10 ani în urmă | |
| BansheeOISInput | 10 ani în urmă | |
| BansheeSL | 10 ani în urmă | |
| BansheeUtility | 10 ani în urmă | |
| ExampleProject | 10 ani în urmă | |
| License | 10 ani în urmă | |
| MBansheeEditor | 10 ani în urmă | |
| MBansheeEngine | 10 ani în urmă | |
| RenderBeast | 10 ani în urmă | |
| SBansheeEditor | 10 ani în urmă | |
| SBansheeEngine | 10 ani în urmă | |
| .gitignore | 10 ani în urmă | |
| BansheeEngine.sln | 10 ani în urmă | |
| Dependencies.txt | 10 ani în urmă | |
| Mono-3.2.3-IntegrationGuide.txt | 11 ani în urmă | |
| Mono-3.4.0-IntegrationGuide.txt | 11 ani în urmă | |
| Mono-3.8.0-IntegrationGuide.txt | 11 ani în urmă | |
| NVTTCompilationGuide.txt | 11 ani în urmă | |
| README.md | 10 ani în urmă | |
| TODO.txt | 10 ani în urmă | |
| TODOExperimentation.txt | 10 ani în urmă |
A free & modern multi-platform game development toolkit. It aims to provide simple yet powerful environment for creating games and other graphical applications. A wide range of features are available, ranging from a math and utility library, to DirectX 11 and OpenGL render systems all the way to asset processing, fully featured editor and C# scripting.
Banshee aims to become a standard in game development by providing rock solid implementations of known and widely used techniques while also being flexible enough to implement constantly changing cutting edge techniques. Built from ground up to be a modern library using modern design principles - everything is modular, layered and decoupled as much as possible, making it easier to modify, replace or add functionality. Platform specific functionality is kept at a minimum making porting as easy as possible. Additionally every non-trivial method, class and field is documented.
On top of the powerful and flexible C++ core lies a fully featured editor and a C# scripting system. C# scripting makes your development easier by giving you access to the entire .NET library, along with fast iterations times while being safe and easy to write. Editor is fully extensible with the help of C# scripting so you may customize it for exact needs of your project.
To get Banshee to run you will need to check out the source code from GitHub and additionally you will need dependencies available for download below. Dependencies should be extracted in the same folder as the root folder of the project (they share folder structure so it should be easy to see what goes where).
To compile Banshee you will need Visual Studio 2013 (Express version will work, but earlier Visual Studio versions will not). Other Windows compilers might work but have not been tested. Support for more platforms and compilers will become available with time.
To compile DirectX render systems you will also need a separately installed DirectX SDK. Check "Dependencies.txt" for all information regarding used dependencies.
Editor
Core
Project is currently in active development. Current version is considered a preview version. Bugs are to be expected and new features will be added as development progresses.
Easiest way to get started with Banshee is to check out the ExampleProject included with the source code. However to give you a taste here are a few code snippets.
RENDER_WINDOW_DESC renderWindowDesc;
renderWindowDesc.videoMode = VideoMode(1280, 720);
renderWindowDesc.title = "My App";
renderWindowDesc.fullscreen = false;
Application::startUp(renderWindowDesc, RenderSystemPlugin::DX11);
Application::instance().runMainLoop();
Application::shutDown();
HMesh dragonModel = Importer::instance().import<Mesh>("Dragon.fbx");
HTexture dragonTexture = Importer::instance().import<Texture>("Dragon.psd");
HSceneObject sceneCameraSO = SceneObject::create("SceneCamera");
HCamera sceneCamera = sceneCameraSO->addComponent<Camera>(window);
sceneCameraSO->setPosition(Vector3(40.0f, 30.0f, 230.0f));
sceneCameraSO->lookAt(Vector3(0, 0, 0));
HSceneObject dragonSO = SceneObject::create("Dragon");
HRenderable renderable = dragonSO->addComponent<Renderable>();
renderable->setMesh(dragonModel);
renderable->setMaterial(dragonMaterial);
HSceneObject guiSO = SceneObject::create("GUI");
HCamera guiCamera = guiSO->addComponent<Camera>(window);
HGUIWidget gui = guiSO->addComponent<GUIWidget>(guiCamera->getViewport().get());
GUIArea* guiArea = GUIArea::createStretchedXY(*gui, 0, 0, 0, 0);
guiArea->getLayout().addElement(GUIButton::create(HString(L"Click me!")));
guiArea->getLayout().addElement(GUIButton::create(HString(L"Click me too!")));
Banshee is offered completely free for personal or commercial use under the General Public License v3 (GPL v3). Read BansheeLicense.txt included in the License sub-directory for full license text. Licenses and credits for used third-party libraries and tools are included in the same directory.
Banshee is developed by Marko Pintera. I've been a professional game developer for the last five years working on various mid-sized titles. My interests lie in engine and graphics development which I spend most of my free time on.
Contact me at [email protected] (antispam: flip gmail/com).