Code Monkey home page Code Monkey logo

dgle-hq / dgle Goto Github PK

View Code? Open in Web Editor NEW
159.0 24.0 37.0 21.02 MB

Powerful independent cross-platform engine for 2D/3D games and visualizations. Young, strong and crazy!

Home Page: http://dgle.dronprogs.org

License: GNU Lesser General Public License v3.0

Shell 0.03% C 0.03% C++ 57.56% Pascal 11.20% HTML 0.07% CSS 1.11% C# 28.86% Batchfile 0.23% MAXScript 0.88% Roff 0.02%
c-plus-plus cross-platform rendering-2d-graphics rendering-3d-graphics rendering-engine game-engine visualization delphi csharp

dgle's Introduction

Introduction

DGLE is a powerful independent cross-platform engine for 2D/3D games and real-time visualizations. Young, strong and crazy!

Project mission

The goal of the project is to provide developers with flexible and extendable cross-platform easy-to-learn professional technology, capable of building any 2D/3D games, real-time visualizations, scientific applications etc. It should be easy to make great projects only by using editors and scripts or go deeper and use your programming skills of your favorite language to create really exciting projects. Users can also add new formats and functionality by creating new plugins for engine and share them with others over the web or just get plugins already made by others. When project is complete it can be easily build for every popular platform.

What does DGLE abbreviation means?

This abbreviation is some kind of legacy and it is a long story... Now officially this means: Dynamite Groovy Lightweight Engine that is more correct, concerning to the spirit of the project. Sometimes engine is named DGLEngine or DGLE engine, both variants are also correct.

More information

Visit official website for more details about this project and also plugins, articles, tutorials, examples and support.

Features

  • Full cross-platform.
  • Plugin based architecture with micro-core principles.
  • Flexible and highly extensible via plugins.
  • Multi render support: OpenGL, OpenGL ES, Direct3D.
  • Set of visual editors with scripting support for rapid application development.
  • Provides all necessary API for development high quality 2D and 3D real-time applications.
  • Flexible but clear abstraction levels allow you programming without any restrictions from the API.
  • Made by experienced in game development professionals for you with love!

Supported Platforms

  • Windows Desktop (XP and later)
  • Linux (in development)
  • Mac OS X (in development)
  • iOS (planned)
  • Android (planned)
  • Windows RT (planned)

Supported Programming Languages

  • C++
  • C# (any .Net compatible language as well)
  • Delphi and Free Pascal
  • Lua (for scripting purpose only)

Getting Started

Simple C++ "HelloWorld" application for Windows. This code will setup engine, create window and render "Hello, World!" text on screen via default font. You can copy-paste this code to your 'main.cpp' and you are done! Also don't forget to copy engine headers (you can find them in "include/cpp" folder) and library 'DGLE.dll' (you can find it in "bin/win" folder) in suitable locations to be found by compiler and executable.

#include "DGLE.h"

using namespace DGLE;

DGLE_DYNAMIC_FUNC

IEngineCore *pEngineCore = NULL;
IBitmapFont *pFont = NULL;

void DGLE_API Init(void *pParametr)
{
	IResourceManager *resMan;
	pEngineCore->GetSubSystem(ESS_RESOURCE_MANAGER, (IEngineSubSystem *&)resMan);
	resMan->GetDefaultResource(EOT_BITMAP_FONT, (IEngBaseObj *&)pFont);
}

void DGLE_API Render(void *pParametr)
{
	pFont->Draw2D(0, 0, "Hello World!");
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
	if ( GetEngine("DGLE.dll", pEngineCore) )
	{
		pEngineCore->InitializeEngine(NULL, "My First App");
		pEngineCore->AddProcedure(EPT_INIT, &Init);
		pEngineCore->AddProcedure(EPT_RENDER, &Render);
		pEngineCore->StartEngine();
		FreeEngine();
	}
	else
		MessageBoxA(NULL, "Couldn't load \"DGLE.dll\"!", "My First App", MB_OK | MB_ICONERROR | MB_SETFOREGROUND);
	
	return 0;
}

You can find more examples in the "src/examples" folder. Also for other supported languages.

You can find build instructions here.

Also if you want to participate in the project development process you must read and understand Development Rules.

Documentation

You can find engine API documentation and articles in the wiki.

License

Licensed under the LGPL license.

Latest SDK version

Compiled and ready to use latest cross-platform SDK always could be found here.

See ChangeLog for full list of changes.

Credits

Project Leader and Lead Programmer

Andrey Korotkov aka DRON

Additional Programming

Alexey Shaydurov aka Ash (3D graphics programming)

Kuznecov Stanislav aka STAlkerS (plugins and tools development)

Mikhail Shestakov aka Mike (C# GUI and tools development, also png and jpg loaders)

Firstin Anton aka First (Delphi/C# headers and minor additional programming)

Semen Kotlyarov aka Kimer (plugins and tools development)

Ilya Sivkov aka Sin (DCP packs and minor additional programming)

Svyatoslav Lobov aka FascioRoma (GUI components development)

Vlad Fomin aka phomm (Delphi/C# headers and examples)

Special Thanks

artyks aka Ksenya Artemova for logo design

Woolf for project support

MadRain for Pyro particles

John Moff, R.I.P. friend

All DeeProSoft employees for project support

Contacts

Visit http://dglengine.org for more information.

Follow us on Twitter, Facebook or VKontakte.

Feel free to mail us [email protected] with any questions.

dgle's People

Contributors

ash3d avatar authenticeshkinkot avatar megadrone86 avatar mish86 avatar phomm avatar vrafael avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dgle's Issues

Improve 3D models export script.

Make it faster, try to export buffers itself.
Export meshes with different materials into one model. (add model export support).
Export materials too.
Add export or calculation for tangent space.
Also export models with vertex attributes not vertex buffers.
Also add ability to creat mesh via IResourceManager with (vnttb) format.

New folder structure.

Create new folder structure add all necessary files to compile engine, documentation, resources and few examples.

Video multimedia plugin.

Have to:

  • Play video as texture
  • Play sound in video as IMusic
  • Capture screen with sound to video aka Fraps do
  • Capture picture from webcam as texture

Network plugin.

Play via Lan and connect players via Internet as well.
Separate server script.

Reengineering of all basic systems.

This is necessary because of the new architecture and layers of abstraction.

  • Core and plugin manager
  • Resource manager
  • Basic render subsystem
  • Filesystem
  • Windows subsystem

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.