Giter Club home page Giter Club logo

polygontek / blueshiftengine Goto Github PK

View Code? Open in Web Editor NEW
412.0 37.0 46.0 302.06 MB

Blueshift is a cross-platform 3D game engine implemented in C++. it's free, open-source, and works on Windows, macOS, iOS, and Android. The project is currently in an early stage of development.

License: Apache License 2.0

Batchfile 0.07% Shell 0.04% CMake 1.83% GLSL 2.57% Makefile 0.05% C 5.74% C++ 83.91% Objective-C 0.82% C# 0.14% Lua 1.76% Objective-C++ 2.36% Cuda 0.10% ShaderLab 0.09% Java 0.54%
game-engine game-development cplusplus lua windows macos ios android

blueshiftengine's Introduction

Blueshift Game Engine

GitHub release License LoC Codacy Badge Windows Build status

Blueshift is a cross-platform 3D game engine implemented in C++. it's free, open-source, and works on Windows, macOS, iOS, and Android. The project is currently in an early stage of development.

For more information about the changes, see the change log.

Buy Me a Coffee at ko-fi.com

Features

  • Cross-platform (Windows, macOS, iOS and Android)
  • OpenGL 3.2+, OpenGL ES 3.0 rendering
  • Component based scene objects
  • Skeletal (with hardware skinning) animation
  • GPU instancing with skinned mesh
  • Parametric animation blending
  • Directional, spot, point lights
  • Environment probes
  • Shadow mapping (cascaded shadow map, omni directional shadow map, projected shadow map)
  • Particle system
  • HDR rendering and filmic tone mapping
  • Post-processing
  • PBR rendering
  • Environment probes
  • Physics using Bullet
  • Vehicle physics
  • Scripting using Lua and LuaJIT
  • 2D and 3D audio playback using DirectSound, OpenAL and OpenSLES
  • TrueType font rendering using FreeType
  • Unicode string support
  • 3D mesh/animation import from FBX
  • Supported IDEs: Visual Studio, Xcode, Android Studio
  • Playable WYSIWYG editor using Qt with undo & redo capabilities

Downloads

Blueshift editor binaries are downloadable here.

Examples

Example projects are downloadable here.

Screenshots

Screenshot1 Screenshot2 Screenshot3 Screenshot4

Documentation

License

The Blueshift game engine source code is released under the Apache 2.0 license. Please see LICENSE.md for complete licensing information.

How To Contribute

Contributions are always welcome, either reporting issues/bugs or forking the repository and then issuing pull requests when you have completed some additional coding that you feel will be beneficial to the main project. If you are interested in contributing in a more dedicated capacity, then please contact me.

See also

Blueshift Document

blueshiftengine's People

Contributors

cxong avatar juhl avatar sj6219 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blueshiftengine's Issues

[Engine] Automatic script binding

We need more general solution for script binding.
I think manually bound Lua code is not sustainable in development progress.

I'm considering to use SWIG for now.

[Editor] Keep Crashing on start-up

i do not know if it was crash or just stuck. but everytimes i start the editor the "windows problem reporting" always appeared in the task manager, and the editor windows is never appeared. what possibly i have missed?

[Engine] Audio mixing

To support pitch control on Android device, we have to implement audio mixing in software.

Editor Soon?

Hey I have just come across this engine, and it looks great! I was wondering when the editor source would be available or a new build released to see all of the new features and test it out to see if it would be a good match for making a game instead of unity or unreal.

[Android] cmake 빌드 과정을 따르는 Android 버젼의 Player 구현

통합된 소스 관리를 위해서 다른 플랫폼 (Windows/macOS/iOS) 과 마찬가지로 Android 버젼에서도 cmake 를 사용해야 합니다.

cmake 빌드 과정에 통합된 BlueshiftPlayer 의 Android 버젼이 구현되면, 기존 vs2015 프로젝트인 Engine/Project/Android 는 제거될 예정입니다.

[Engine] Engine 을 DLL 형태의 동적 링크 라이브러리로 제공

현재 엔진을 빌드하면 static library 로 떨어집니다. 에디터의 소스가 공개되고 있지 않으므로 엔진을 DLL 형태로 만들어야 수정버젼을 에디터에서 시험해 볼 수 있는 방식이 됩니다. (물론 에디터 소스가 공개되면 이런 과정은 필요없을지도 모릅니다)

참고로 iOS 8 부터 Apple 에서도 Framework 형태로 동적 링킹을 지원한다고 합니다.

Error in android studio

2019-09-23 21:30:56.722 26233-26261/com.polygontek.BlueshiftPlayer.debug E/MemoryLeakMonitorManager: MemoryLeakMonitor.jar is not exist!
2019-09-23 21:30:56.722 26233-26270/com.polygontek.BlueshiftPlayer.debug E/AwareLog: AtomicFileUtils: readFileLines file not exist: android.util.AtomicFile@1181ae5
2019-09-23 21:30:56.722 26233-26270/com.polygontek.BlueshiftPlayer.debug E/AwareLog: AtomicFileUtils: readFileLines file not exist: android.util.AtomicFile@19369ba

[Engine] Lua scripting

I think we need to support below features in the future release.
Some of them are already implemented in the development branch.

  • Support Lua 5.1 to support LuaJIT
  • Support LuaJIT x86_64 (Windows, macOS)
  • Support LuaJIT ARM (LuaJIT ARM64 is in beta for now)
  • Debugging functionality (using ZeroBrane Studio)

Error In Open GuidMap

Friend,

I got error when running these code, May I know Why?Couldn't open guidmap

if (!BE1::resourceGuidMapper.Read("Data\guidmap")) {
BE_FATALERROR("Couldn't open guidmap !");
}

Editor source?

Hi,
Excellent job on your engine progress, I'm working on Urho3D based fork engine and would like to add editor support in the future, any plan to release the editor code?

could you open editor sources?

when i use cmake
CMake Warning at Source/ThirdParty/ToolWindowManager/CMakeLists.txt:29 (find_package):
By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"Qt5Widgets", but CMake did not find one.

Could not find a package configuration file provided by "Qt5Widgets" with
any of the following names:

Qt5WidgetsConfig.cmake
qt5widgets-config.cmake

Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set
"Qt5Widgets_DIR" to a directory containing one of the above files. If
"Qt5Widgets" provides a separate development package or SDK, be sure it has
been installed.

CMake Error at Source/ThirdParty/ToolWindowManager/CMakeLists.txt:31 (qt5_wrap_cpp):
Unknown CMake command "qt5_wrap_cpp".

[Editor] macOS 에디터 화면 버그

macOS 에디터 상에서 Qt warning message 가 계속 발생합니다.

Scene dock 과 Game dock 전환시에 화면이 까맣게 나오는 현상이 있습니다.
정확한 원인은 파악이 안되고 있으나 Qt 와 OpenGL 의 충돌인 것 같습니다.

cling based C++ as scripting language / hot code reload

cling based C++ as scripting language / hot code reload
Why? Able to run C++ script in runtime or compile it for max speed ( as in example https://github.com/derofim/cling-cmake )

HOT code reload
possible approaches:

store app state
fix cling undo for files
https://root-forum.cern.ch/t/loading-unloading-class-as-interpreted-macro-in-cling-multiple-times/32976/2

execute cling code to change callbacks & variables
nested cling::Interpreter with multiple cling::MetaProcessor
IDK how to do it, but you can create child cling::Interpreter

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.