GithubHelp home page GithubHelp logo

pacoispaco / eifogl Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 0.0 1.66 MB

EiffelOpenGL is an Eiffel wrapping of OpenGL. It consists of incomplete but working wrappings of the GL and GLU libraries, as well as the GLUT library.

License: Other

C 3.51% Eiffel 91.69% Makefile 0.94% C++ 1.13% E 2.72%

eifogl's Introduction

eifogl (EiffelOpenGL)

EiffelOpenGL is an Eiffel wrapping of OpenGL. It consists of incomplete but working wrappings of the GL and GLU libraries, as well as the GLUT library. It is licensed under EFL - The Eiffel Forum License.

A little history

This library was written in 1998-2002 in my spare time as a hobby project. I simply wanted to learn about graphics programming using OpenGL and I wanted to do it in Eiffel.

At that time I was working professionally on Windows and the main Eiffel development environment and compiler (ISE Eiffel - today Eiffel Software) was investing heavily in a presence on the Windows platform. Therefore it seemed natural for me to start working on EiffelOpenGL on Windows.

Between 2002 and the summer of 2016 didn't do any work on the library.

Current status

In june 2016, after many years, I started working on upgrading the library to the latest release of EiffelStudio and in getting it working on Linux (Ubuntu 15.05 & 16.04) with the Mesa OpenGL and FreeGLUT libraries.

Short term goals:

  1. Ignore support for Eiffel OpenGL on Windows.
  2. Upgrade GLUT Eiffel binding to FreeGLUT.
  3. Update all GLUT example programs.

Long term and low prio goals:

  1. Remove obsolete stuff.
  2. Upgrade GLX binding.
  3. See if it is easy to make it work with LibertyEiffel.

You can check the status of ongoing work here.

Installing and setting up a development environment

  1. Install EiffelStudio Enterprise or the GPL licensed version from https://www.eiffel.org/downloads
  2. Make sure the ISE_EIFFEL environment variable is set.
  3. Install Mesa OpenGL and FreeGLUT.
$ sudo apt-get install freeglut3 freeglut3-dev libglew-dev
  1. Install the Mesa utilities which include glxinfo tool that displays info on your OpenGL installation, i.e. capabilities of the OpenGL implementation.
$ sudo apt-get install mesa-utils
  1. Clone this git repo.
$ git clone https://github.com/pacoispaco/eifogl.git
  1. Make sure the EIFOGL environment variable is set to point to the root directory where you cloned your local copy of eifogl; typically something like this:
$ export EIFOGL=~/myprojects/eifogl

You should of course put the environment variables you need to have set in your .bashrc or other appropriate dotfile. 7. Compile the C wrapper libraries in EiffelOpenGL. Run make in the root directory.

$ make clibs

eifogl's People

Contributors

pacoispaco avatar

Stargazers

Olivier Ligot avatar

Watchers

James Cloos avatar  avatar Peter Roehlen avatar

eifogl's Issues

`make clibs` errors with `spec/compiler/ise/egl: No such file or directory.`

Sorry I'm very much an Eiffel/OpenGL/C-programming noob and I'm having the above problem when trying to follow the instructions in the README and I can't work it out.

Output from make clibs:

make -C spec/compiler/ise/egl
make[1]: *** spec/compiler/ise/egl: No such file or directory.  Stop.
Makefile:34: recipe for target 'spec/compiler/ise/egl' failed
make: *** [spec/compiler/ise/egl] Error 2

I can't find the spec/compiler/ise folder in my cloned version of the repo.

My environment variables have been set correctly per the readme as near as I can tell.

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.