Git Product home page Git Product logo

blueengine's Introduction

BlueEngine

Graphic engine using OpenGL library in version 4.6.0.

Description

It is graphic engine implementation using OpenGL library, according to my idea and project. In this version, there are available following modules:

  1. Template class representing bitfield for particular usages. The class can 't afford for operations on bitfield values that belongs to different usage groups. The class also provides auto-incrementation in particular usage group.
  2. Classes representing algebra and analytic geometry beings:
    1. Template class for matrix. A matrix can be created for different number types and makes it possible for operating with other instances (addition, subtraction and multiplication).
    2. Classes representing 3D points, vectors, planes, lines and triangle sequences. Each class has right constructor and operations on other types.
  3. A class representing a color of particular pixel.
  4. Main class of BlueEngine - Engine. This is root class that connects all main modules. For this moment the GraphicEngine class is only connected.
  5. A class of GraphicEngine. This class represents graphic engine and connects with all components included in engine: VideoOutputWindow, ViewManager and origin of whole scene - CoordinateSystem.
  6. A class of ViewManager. This class is responsible for performing view of currently selected camera - one of all registered cameras.
  7. Classes representing scene objects (BaseObjectClass is a root class):
    1. Camera - is used to perform particular view of scene for user.
    2. Coordinate System - is used mainly as main origin of whole scene.
    3. Advanced Coordinate System - is used as pretty version of Coordinate System. In engine a objects hierarchy is used: position and rotation of objects is dependent on their's parent objects.
  8. A class of VideoOutputWindow. This class places prepared view from ViewManager into application window.

Running example demonstrational program

To run example program, is needed to copy built BlueEngine library (represented by libBlueEngine.dll) and other libraries from root directories:

  • libgcc_s_seh-1.dll
  • libstdc++-6.dll
  • libwinpthread-1.dll

Program present view from rotating camera. In the view user can see main coordinate system of scene.

research-run-view.PNG Screenshot of application window after start.

Supported operating systems

So far, the project has been compiled only on Microsoft Windows, but OpenGL in theory is also supported in Linux distribution.

Dependencies

To compile this project, is needed to install the newest version of MinGW for 64-bit architecture. The variant of POSIX thread library was selected during MinGW installation, so is recommended.

Also must be available following dynamic-link libraries:

  • OpenGL32
  • GLu32
  • Any GLut library (also freeglut)

blueengine's People

Contributors

matwiecz avatar

Stargazers

Andrzej Chmura avatar

Watchers

James Cloos avatar  avatar

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.