All Projects → linas → glextrusion

linas / glextrusion

Licence: other
OpenGL 3D extrusion library

Programming Languages

c
50402 projects - #5 most used programming language
shell
77523 projects
C++
36643 projects - #6 most used programming language
Makefile
30231 projects
objective c
16641 projects - #2 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to glextrusion

Atari st sources
A large repository of Atari ST (and family) source code
Stars: ✭ 157 (+481.48%)
Mutual labels:  demoscene
Fr public
Farbrausch demo tools 2001-2011
Stars: ✭ 2,884 (+10581.48%)
Mutual labels:  demoscene
tornado-amiga
The Tornado Amiga Demo System
Stars: ✭ 31 (+14.81%)
Mutual labels:  demoscene
Wavesabre
Official WaveSabre repository
Stars: ✭ 180 (+566.67%)
Mutual labels:  demoscene
Openmpt
Official read-only git mirror of the OpenMPT and libopenmpt subversion repository at https://source.openmpt.org/. This repository may occasionally get rebased without further notice when subversion revision properties (commit message) get fixed in recent history after the fact. Be sure to rebase often in case you clone or fork it.
Stars: ✭ 231 (+755.56%)
Mutual labels:  demoscene
hwmf
Demo for Arduino Mega (ATmega2560) and an LCD. Got 2nd place at Revision 2020 wild compo.
Stars: ✭ 19 (-29.63%)
Mutual labels:  demoscene
4klang
Official 4klang repository
Stars: ✭ 137 (+407.41%)
Mutual labels:  demoscene
pouet2.0
The next generation of trumpets. Now with 10% more whining sound.
Stars: ✭ 129 (+377.78%)
Mutual labels:  demoscene
Huejumper2k
2 Kilobyte 3D racing game in JavaScript
Stars: ✭ 236 (+774.07%)
Mutual labels:  demoscene
OpenSCAD connectors
Simple, parametric APIs for connectors such as corner brackets and t-joints. Specializing on connectors for aluminum extrusion connectors.
Stars: ✭ 29 (+7.41%)
Mutual labels:  extrusion
Lambdacube Edsl
Previous version of LambdaCube 3D as Embedded Domain Specific Language in Haskell. Check the latest system:
Stars: ✭ 186 (+588.89%)
Mutual labels:  demoscene
64klang
Official 64klang repository
Stars: ✭ 214 (+692.59%)
Mutual labels:  demoscene
GuneyOzsanOutThereMusicVideo
Procedurally generated, real-time, demoscene style, open source music video made with Unity 3D for Out There by Guney Ozsan.
Stars: ✭ 26 (-3.7%)
Mutual labels:  demoscene
Gbt Player
A music player library for Game Boy.
Stars: ✭ 180 (+566.67%)
Mutual labels:  demoscene
d3-spiral-heatmap
A reusable chart for D3 (version 4) to create a spiral heatmap
Stars: ✭ 30 (+11.11%)
Mutual labels:  spiral
C64 Devkit
All you need to start programming 6510 assembler for the Commodore 64 on Microsoft Windows or Linux.
Stars: ✭ 149 (+451.85%)
Mutual labels:  demoscene
shady
A GTK+ shader editor, that aims for Shadertoy.com compatibility (and more…)
Stars: ✭ 22 (-18.52%)
Mutual labels:  demoscene
re
"What Are You Syncing About?" – Ninjadev's submission for Revision 2017
Stars: ✭ 69 (+155.56%)
Mutual labels:  demoscene
jobs
RoadRunner: Background PHP workers, Queue brokers
Stars: ✭ 59 (+118.52%)
Mutual labels:  spiral
resimulated
1st place at Revision 2020 (PC 64K Intro)
Stars: ✭ 18 (-33.33%)
Mutual labels:  demoscene

GLE - The GL Extrusion Library

This git repo contains an update to the very old (1991-2001) GLE library, which is still available from the old website. That original website is mirrored here, in the doc/html directory.

This update is a snapshot of the final version 3.1.0 of the codebase, and includes work from Dave Richards, providing a MSWindows-friendly C++ wrapper. Dave's work is in the cgle-c++ directory.

GLE

GLE is a library package of C functions that draw extruded surfaces, including surfaces of revolution, sweeps, tubes, polycones, polycylinders and helicoids. Generically, the extruded surface is specified with a 2D polyline that is extruded along a 3D path. A local coordinate system allows for additional flexibility in the primitives drawn. Extrusions may be texture mapped in a variety of ways. The GLE library generates 3D triangle coordinates, lighting normal vectors and texture coordinates as output. GLE uses the GL or OpenGL(R) API's to perform the actual rendering. The demos use GLUT and require GLUT to be installed.

img img img

Obtaining OpenGL

OpenGL is available on UNIX, Linux, Mac and Windows. Find more about OpenGL at https://www.opengl.org/

Obtaining GLUT

The demos require that the GLUT windowing and utility library be installed. Most OpenGL distributions come with GLUT (I think).

On Linux/Debian

On modern Linux systems, skip the above, and instead, just say:

sudo apt-get install libgle3-dev

This will give you everything in this git repo, precompiled. If you want to compile from source, you will need this:

apt-get install libgl1-mesa-dev libxmu-dev libxi-dev freeglut3-dev

img img

Compiling

GLE uses the standard GNU automake/autoconf build process, and thus should be portable to essentially all computing platforms. At the command line simply type ./configure to set things up for your CPU & operating system. Then run make to compile. Finally, cd to the examples directory, and run the script rundemo to launch each of the demos in order (from most basic, to advanced). Use the left mouse button to move, the middle mouse button to access the pop-down menu.

If configure fails, its probably because some library or another is missing. Look at the file 'config.log' to see what actually went wrong. In particular, pay attention to the short program at the end: trying to compile it by hand will give you a good idea on why it failed.

Flags that can be supplied to ./configure:

--enable-lenient-tess If you have a tesselator that is happy with anything, including degenerate points, colinear segments, etc. then define this. Otherwise, don't specify this flag. Setting this flag provides a minor performance improvement. I beleive that the stock SGI tesselator is "lenient", despite explicit disclaimers in the documentation. (circa 1995). Early versions of the MesaGL tesselator are not at all forgiving of degenerate points. This resulted in frequent crashes and/or hangs. (circa 1997-2000). Recent versions (as of 2001) seem to work fine.

--disable-auto-texture Disable texture mapping code. Disabling texture mapping may provide a very minor performance improvement.

--enable-irisgl Compile for old IrisGL/GL-3.2 API. This used to work, but hasn't been tested in a long time.

--enable-debug Will compile sources so printf routines will be called instead of OpenGL routines. Warning: this will generate a lot of output!

Website Mirror

More information about building, as well as this package, can be found in the mirror of the original website, in the doc/html directory.

img img

RedHat RPM's

RedHat RPM's can be built using the gle.spec file.

Python, SWIG

Python bindings for gle can be found in the /swig directory. Be sure to read the readme.

Compiling for Windows

To compile with Visual C++, just do the following:

cd src
cl -c -DWIN32 -DOPENGL_10=1 *.c
lib -out:gle.lib *.obj

Alternately, there are a set of Microsoft Visual Studio Project files in the directory ms-visual-c that should do the same thing.

Running

Some of the example programs will hang or crash when run on older (pre-2001) versions of MesaGL/Linux. This was due to bugs in the MesaGL tesellator. Newer versions should work fine.

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].