Git Product home page Git Product logo

glv's Introduction

GLV (Graphics Library of Views)

GUI Building Toolkit

  1. About ======================================== GLV (Graphics Library of Views) is a GUI building toolkit written in C++ for Linux, OSX, and Win32. GLV is specially designed for creating interfaces to real-time, multimedia applications using hardware accelerated graphics. GLV has no dependencies on other libraries other than OpenGL which is provided by all modern operating systems. Although windowing is technically not a part of GLV, it does provide an abstraction layer for creating bindings to a particular windowing system for creating an OpenGL context and getting mouse and keyboard input. A binding to GLUT is currently provided.

  2. Compilation Instructions ========================================

The source code can either be built into a library or directly compiled from source into an application. In the following instructions, the base directory is where this README file is located.

2.1 Building a Library

Make (Linux, OS X)

First, ensure that the correct build options are set. These can be set directly in Makefile.config or passed in as options to Make as OPTION=value. Once Make has been configured properly, run

make

to build the library.

There are several other targets within Makefile. These are:

make all		- builds library and tests
make clean		- removes binaries from build folder
make test		- builds the unit tests and other empirical testing code
make test/x.cpp		- builds and runs source file 'x'
make example/x.cpp	- builds and runs source file 'x'

Binaries are located in the directory ./build.

Xcode (OS X)

  1. Open osx/GLV.xcodeproj
  2. Select 'ALL' as the active target and build.

A static library and framework will be in project build folder.

MS Visual Studio (Windows)

There is no Visual Studio project included, but it is simple to set one up by creating your own by selecting "Console Application" and then choosing "empty project." You'll then need to add the GLV source files and OpenGL and GLEW (and if using Window, GLUT) dependencies.

Obtain GLEW from http://glew.sourceforge.net/

To use the shared library version of GLEW, you need to copy the headers and libraries into their destination directories. On Windows this typically boils down to copying:

bin/glew32.dll to %SystemRoot%/system32 lib/glew32.lib to {VC Root}/Lib include/GL/glew.h to {VC Root}/Include/GL include/GL/wglew.h to {VC Root}/Include/GL

Obtain GLUT from http://www.xmission.com/%7Enate/glut.html

  1. Put the file "glut32.dll" in "C:\WINDOWS\system32"
  2. Put the file "glut.h" into

C:\Program Files\Microsoft Visual Studio 10.0\VC\Include\GL

  1. Put the file "glut32.lib" into C:\Program Files\Microsoft Visual Studio 10.0\VC\lib

Configure the linker using this

Project -> Configuration Properties -> Linker -> Input add opengl32.lib; glut32.lib; glu32.lib; in "additional dependencies"

2.2 Compiling Direct From Source

GLV can easily be compiled directly from source into an existing project.

Make sure to pass in the following flags to the compiler:

-finline-functions (or -O3)
-fpeel-loops

2.3 Dependencies

GLV requires only OpenGL, GLU, and GLEW (Linux only). There are no other dependencies, unless a window binding is used, such as GLUT.

  1. File Organization ========================================

    GLV/ GLV headers src/ GLV source

    example/ example source demonstrating various features of GLV test/ unit and visual testing source

    doc/ documentation of GLV source, design, etc.

glv's People

Contributors

eranws avatar lanceputnam avatar

Watchers

 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.