All Projects → DarthMike → Indielib Crossplatform

DarthMike / Indielib Crossplatform

Licence: zlib
IndieLib is a cross-platform Game Graphics engine. Main focus is OpenGL ES 2.0 for mobile iOS operating system, and OpenGL desktop. **NOT SUPPORTED ANYMORE**

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Indielib Crossplatform

Bonzomatic
Live shader coding tool and Shader Showdown workhorse
Stars: ✭ 829 (+1195.31%)
Mutual labels:  opengl, graphics, directx
Bsf
Modern C++14 library for the development of real-time graphical applications
Stars: ✭ 1,640 (+2462.5%)
Mutual labels:  opengl, graphics, directx
Shaderconductor
ShaderConductor is a tool designed for cross-compiling HLSL to other shading languages
Stars: ✭ 1,146 (+1690.63%)
Mutual labels:  opengl, graphics, opengl-es
Filament
Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2
Stars: ✭ 13,215 (+20548.44%)
Mutual labels:  opengl, graphics, opengl-es
Opentk
The Open Toolkit library is a fast, low-level C# wrapper for OpenGL, OpenAL & OpenCL. It also includes windowing, mouse, keyboard and joystick input and a robust and fast math library, giving you everything you need to write your own renderer or game engine. OpenTK can be used standalone or inside a GUI on Windows, Linux, Mac.
Stars: ✭ 2,284 (+3468.75%)
Mutual labels:  opengl, graphics, opengl-es
Bansheeengine
Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting
Stars: ✭ 2,906 (+4440.63%)
Mutual labels:  opengl, graphics, directx
Bgfx
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Stars: ✭ 10,252 (+15918.75%)
Mutual labels:  opengl, graphics, directx
Diligentengine
A modern cross-platform low-level graphics library and rendering framework
Stars: ✭ 2,142 (+3246.88%)
Mutual labels:  opengl, opengl-es, directx
Diligentsamples
Sample projects demonstrating the usage of Diligent Engine
Stars: ✭ 138 (+115.63%)
Mutual labels:  opengl, opengl-es, directx
Diligentcore
Core functionality of Diligent Engine
Stars: ✭ 263 (+310.94%)
Mutual labels:  opengl, graphics, opengl-es
Renderdoc
RenderDoc is a stand-alone graphics debugging tool.
Stars: ✭ 5,969 (+9226.56%)
Mutual labels:  opengl, graphics, directx
Mesh Subdivision
A collection of common mesh subdivision algorithms
Stars: ✭ 25 (-60.94%)
Mutual labels:  opengl, graphics
Sfml
Simple and Fast Multimedia Library
Stars: ✭ 7,316 (+11331.25%)
Mutual labels:  opengl, graphics
Celestia
Real-time 3D visualization of space.
Stars: ✭ 785 (+1126.56%)
Mutual labels:  opengl, opengl-es
Gli
jvm gli
Stars: ✭ 21 (-67.19%)
Mutual labels:  opengl, graphics
Kepler3d
OpenGL and C++14 game engine that loads glTF 2.0
Stars: ✭ 9 (-85.94%)
Mutual labels:  opengl, opengl-es
Cocoaopengl Swift
A simple example of using Swift to create an OpenGL application for macOS, iOS, and tvOS.
Stars: ✭ 60 (-6.25%)
Mutual labels:  opengl, opengl-es
Glfw
A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
Stars: ✭ 8,416 (+13050%)
Mutual labels:  opengl, opengl-es
Ashengine
A cross-platform 3D engine based on Qt 5.9.7, OpenGL 3.3 and Assimp 4.1.
Stars: ✭ 35 (-45.31%)
Mutual labels:  opengl, graphics
Directxtk12
The DirectX Tool Kit (aka DirectXTK12) is a collection of helper classes for writing DirectX 12 code in C++
Stars: ✭ 765 (+1095.31%)
Mutual labels:  graphics, directx

Indielib cross-platform

Overview

Indielib is a C++ 2.5d library for game development and fast game prototyping in a really easy way. It was originally written for DirectX 9.0c. This project is the cross platform version of this library.

###Platforms

  • Windows
  • Linux
  • OSX
  • iOS

###Renderers

  • OpenGL 1.5 desktop support
  • OpenGL ES 2.0 iOS support

##IMPORTANT INFORMATION: This project does not have active developers working on it. The team leader, DarthMike, has moved on to other projects because of lack of time to both maintain regularly and deliver more features. MFK, the second active member of the team is not actively developing anymore. You are more than welcome to take over the project if you want. If so, - you might wan't to take a look at the CMake branch where building the project in linux is way easier (have not tested Win + Mac yet). (MFK 2019)

Thank you for your understanding!

Features

Simple interface and extreme easiness: really fast game prototyping using entities for each of the graphical objects and changing their attributes. All the methods are as simple as "SetPos", "SetCollisionArea", "SetFade", "SetTransparency", etc.

  • Translations, rotation, mirroring and scaling of sprites.
  • Alpha blending, transparency, tinting and fading of sprites.
  • Render images of any size (not only power of two). You can load images as big as 10000x10000 pixels or more, and IndieLib will cut them internally in smaller blocks. Furthermore, IndieLib will automatically discard all the blocks out of the screen, also if your sprites are transformed and the camera making a zoom or rotated, only what you see is what is going to be rendered.
  • SetGrid method in order to create grids for your sprites. Later you can move each grid point in order to make a lot of different effects like waves, etc.
  • 2d and 3d camera concepts, completely independent of the graphical objects. Easy methods to translate, rotate or zoom you camera.
  • Easily creation of several viewports. Just create as many viewports as you want using different cameras assigned to them. This is really useful for making widescreen games, etc.
  • Scrolls of any size, with automatic block discarding.
  • Animation system using XML animation scripts, for defining the frames and sequences.
  • Advanced collision system. Create an xml file defining your collision areas per sprite using circles, rectangles or triangles. You can define as many collision groups as you want, each one with a different name. Join this file to an entity object and check collision between the collision groups of other entities. Don't worry about translating, rotating or scaling your entities, the collision groups will always fit perfectly your entity. You can also have sprite animations in which each frame has different collision groups (imagine this feature in a "Street Fighter" type game).
  • Bitmap font system, for drawing graphical texts of fonts created with MudgeFont for IndieLib. Change the alignment, char spacing and line spacing easily.
  • Rendering of 3d Meshes (you can mix 2d and 3d easily). You can also apply transformations to them (rotation, scaling, fading, etc). This will allow you to make games like "New Super Mario Bros" in which the characters are 3d models and the scenario is 2d.
  • Light manager, for lighting your 3d models. Enable / Disable lights, change their attributes, etc.
  • Timers. Start, stop, pause them easily.
  • Entity class, for both 2d and 3d objects, for managing the graphical objects in a really easy way. Just create an entity, join a graphical object to it, an change it's attributes (space transformations, color transformations, etc).
  • Image class, for loading / saving different types of image files and for accessing to the bitmaps directly. You can also apply filters to the images like gaussian, noise, equalize, saturation, etc.
  • Direct blitting of primitives (rectangles, circles, polygons, lines, etc).
  • Mouse and keyboard input. Check if any key/button has been pressed, is being pressed or has been pressed more than n milliseconds. Check combination of keys/buttons that are pressed at the same time.

###Features ported to other renderers/platforms

  • IND_Entity2d, IND_Surface, IND_Font, IND_Image
  • All manipulations of entities (effects, interactions...)
  • Transparent window creation
  • 2d Cameras
  • Collision tracking and definitions system

###Features NOT ported initially

  • 3d Entities
  • Lights
  • 3d-related objects (meshes etc.)

###Tools supported

###Dependencies This library bases on several others to achieve some of it's functionality:

Building the library

Instructions to build the library are available on the wiki page.

Roadmap

Roadmap is updated in indielib wiki page. All tasks have a corresponding issue in the issues tab in GitHub.

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].