All Projects → aleksaro → Gloom

aleksaro / Gloom

Licence: other
A minimalistic boilerplate for OpenGL with C++.

Programming Languages

cplusplus
227 projects

Projects that are alternatives of or similar to Gloom

Herebedragons
A basic 3D scene implemented with various engines, frameworks or APIs.
Stars: ✭ 1,616 (+2892.59%)
Mutual labels:  opengl, computer-graphics
Rendu
A simple realtime graphics playground for experimentations.
Stars: ✭ 343 (+535.19%)
Mutual labels:  opengl, computer-graphics
Tinyrenderer
A brief computer graphics / rendering course
Stars: ✭ 11,776 (+21707.41%)
Mutual labels:  opengl, computer-graphics
Tinyraycaster
486 lines of C++: old-school FPS in a weekend
Stars: ✭ 1,383 (+2461.11%)
Mutual labels:  opengl, computer-graphics
Awesome Glsl
🎇 Compilation of the best resources to learn programming OpenGL Shaders
Stars: ✭ 530 (+881.48%)
Mutual labels:  opengl, computer-graphics
Awesome Opengl
A curated list of awesome OpenGL libraries, debuggers and resources.
Stars: ✭ 1,577 (+2820.37%)
Mutual labels:  opengl, computer-graphics
Nimgl
NimGL is a Nim library that offers bindings for popular libraries used in computer graphics
Stars: ✭ 218 (+303.7%)
Mutual labels:  opengl, computer-graphics
Dyna Kinematics
A 2D rigid-body dynamics simulator with some cool features for generating beautiful animations.
Stars: ✭ 195 (+261.11%)
Mutual labels:  opengl, computer-graphics
Open3d
Open3D: A Modern Library for 3D Data Processing
Stars: ✭ 5,860 (+10751.85%)
Mutual labels:  opengl, computer-graphics
Easy3d
A lightweight, easy-to-use, and efficient C++ library for processing and rendering 3D data
Stars: ✭ 383 (+609.26%)
Mutual labels:  opengl, computer-graphics
Tiny3d
A Small OpenGL Based Renderer
Stars: ✭ 94 (+74.07%)
Mutual labels:  opengl, computer-graphics
Antons opengl tutorials book
Anton's OpenGL 4 Tutorials book - Demo Code
Stars: ✭ 668 (+1137.04%)
Mutual labels:  opengl, computer-graphics
Opengl Renderer
Modern OpenGL renderer written in C++17
Stars: ✭ 85 (+57.41%)
Mutual labels:  opengl, computer-graphics
Tiny Renderer
A tiny sotfware 3D renderer in 100 lines of Python
Stars: ✭ 120 (+122.22%)
Mutual labels:  opengl, computer-graphics
Graphics Algorithm
3D图形学算法Code。包括软渲染、光线追踪、PBR等等~
Stars: ✭ 67 (+24.07%)
Mutual labels:  opengl, computer-graphics
Vctrenderer
A real time global illumination solution that achieves glossy surfaces, diffuse reflection, specular reflection, ambient occlusion, indirect shadows, soft shadows, emissive materials and 2-bounce GI. Published here http://ieeexplore.ieee.org/abstract/document/7833375/
Stars: ✭ 353 (+553.7%)
Mutual labels:  opengl, computer-graphics
Gl Rs
An OpenGL function pointer loader for Rust
Stars: ✭ 539 (+898.15%)
Mutual labels:  opengl, computer-graphics
Graphics Snippets
Shading techniques and GLSL snippets
Stars: ✭ 53 (-1.85%)
Mutual labels:  opengl, computer-graphics
Simpleton Engine
What a stupid name for a library
Stars: ✭ 42 (-22.22%)
Mutual labels:  opengl
Solarsys
Realistic Solar System simulation with three.js
Stars: ✭ 49 (-9.26%)
Mutual labels:  computer-graphics

===== gloom

A minimalistic boilerplate for OpenGL with C++ derived from Glitter. Its intended use is to get smaller OpenGL projects quickly up and running for the graphics courses at NTNU.

The following libraries are included with this project:

+---------+---------------------------------------+ | Library | Function | +=========+=======================================+ | glad_ | OpenGL function loader | +---------+---------------------------------------+ | glfw_ | Window creation and input handler | +---------+---------------------------------------+ | glm_ | OpenGL mathematics | +---------+---------------------------------------+ | stb_ | Various libraries, e.g. image loading | +---------+---------------------------------------+

Additional functionality can be added by altering CMakeLists.txt.

Dependencies

  • CMake_ (v.3.*) is used to generate platform-specific makefiles and workspaces.

Please refer to the individual library repositories for more information about additional dependencies.

Getting started

Download

The project and all third-party libraries can be downloaded by cloning this repository with the --recursive flag.

.. code-block:: bash

git clone --recursive https://github.com/senbon/gloom.git

If you have already cloned the repository and missed the --recursive flag, then the following grabs all dependencies.

.. code-block:: bash

git submodule update --init

Compilation

Linux (command-line)


With all dependencies installed, compiling the project is as easy as running CMake followed by the ``make`` command.

.. code-block:: bash

  # Change into the directory where you want your makefiles
  cd ./gloom/build

  # Generate UNIX Makefile (point CMake to CMakeLists.txt)
  cmake ..

  # Execute make command
  make

  # Run executable
  ./gloom/gloom

Specific generators can also be specified with CMake if you want to create workspaces for an IDE, for example:

.. code-block::

  cmake -G "CodeBlocks - Unix Makefiles"


Windows (cmake-gui)
~~~~~~~~~~~~~~~~~~~

1. Set the source code file to the root directory containing ``CMakeLists.txt``
2. Binaries can be built in the directory of your choice, e.g. ``gloom\build\``
3. Click the configure button and select which generator you would like to use
4. Click the generate button
5. If your generator is an IDE such as Visual Studio, then open up the newly created .sln file and build ``ALL_BUILD``. After this you might want to set ``gloom`` as you StartUp Project.

Documentation
=============

The full documentation can be found on the `repository wiki`_.
Among other things, the wiki includes information on how to use the shader and camera class bundled with gloom.


.. Links

.. _Glitter: https://github.com/Polytonic/Glitter
.. _NTNU: https://www.ntnu.edu/
.. _glad: https://github.com/Dav1dde/glad
.. _glfw: https://github.com/glfw/glfw
.. _glm: https://github.com/g-truc/glm
.. _stb: https://github.com/nothings/stb
.. _CMake: https://cmake.org/
.. _repository wiki: https://github.com/senbon/gloom/wiki
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].