Releases: RicardoEPRodrigues/3Engine
AppImage is now uploaded by TravisCI
Long time since my last update, but here I am.
So, new stuff. AppImage is now uploaded by TravisCI. The tricky part: Understanding Library Linkage and the g++
compiler.
Library Linkage, it was a real headache. I modified the project so that there is no need to sudo apt install
SDL and GLEW, making it very easy to choose what versions you want to use. If a new one comes out, just edit the Setup.sh
.
About this new file. When unpacking the projects always run it. It gets you ready for development. If it detects apt
it will install some needed libraries for compiling, such as g++
and cmake
, but also some needed for SDL extensions, such as libjpeg-dev
and libfreetype6-dev
.
It is also in this file that SDL and GLEW are downloaded and installed in the dependencies
directory. This follows the way the project is handled in Windows, which I think is cleaner (all in one place, no need for extra things).
Finally the g++
compiler. So for this time around, I tried to test the project in Ubuntu 14.04, which has g++ 4.8.4
that already partially supports c++11
. Unfortunately, my code base uses some of the unsupported bits, which makes it impossible to support Ubuntu 14.04 with the default compiler. I'll be supporting 16.04 and newer from now on.
AppImage Fully Functional Release
Added correct libraries to the lib path of AppImage. duh...
Even using FreeGLUT... I really need to pay more attention...
AppImage early support - Added missing Categories
Corrected .desktop
file to feature Categories=Game.
AppImage early support
This release offers an improved export to AppImage, yet it still requires dependencies to be installed.
sudo apt install freeglut3-dev libglew-dev libxmu-dev libxi-dev
This might be overkill, but lack of time doesn't allow me to test out what dependencies are really needed.
Trials have been performed to try to export an AppImage with all the needed dependencies, yet it appears GLEW and FreeGLUT depend on drivers from the OS, since I'm running on NVIDIA it ties itself with it. Meaning that I need to build for NVIDIA/MESA/... etc.
I want to change to SDL and I hope that with it these problems disappear.
PBR Implementation
This release is the first release and includes a basic PBR system.
Scene Graph and Mesh Loader
This update brings lots of fun stuff.
As the title suggests a basic Scene Graph was added. Allowing the stacking of elements with much more ease.
A major component of the graph is the Actor, which acts as a node, including also an optional mesh and shader program.
Picking up on the mesh, a mesh loader was added, it currently only loads simple obj files, but I hope the improve it further. A Mesh is now the recommend class to use to define objects.
Additionally a couple of managers were added. ShaderProgramManager and MeshManager. Allowing the storage of said objects. Therefore Actors can share shaders and meshes with no problem.
Finally a Simulation was added. This class allows the execution of repeating updates. Just implement a IUpdatable class an add it to the Simulation.
See the latest example on how to use the refereed components correctly.
Quaternion and 3D Rotations and some
This update complements the previous one, in that no real visual changes were made but big backend changes happened.
First of Engine, Executables and Tests are now separate projects. The first is now a Library included in the later projects.
Delta time is now available, allowing for a smoother experience.
Mouse locking on click and drag was added to the spherical camera controller.
Finishing up Travis building support was added.
Quaternion and 3D Rotations
This update brings Quaternions and new rotations examples using them. The present scene presents an object that the camera rotates around.
Camera Controls and 3D Objects
This update brings 3D to this engine. It's hard to keep clean code and due to time restraints it may not be possible.
Shaders and Basic 2D shapes
This release offers a first view the engine displaying figures.
Multiple shader programs are used.