tczwj / sgl Goto Github PK
View Code? Open in Web Editor NEWThis project forked from subh83/sgl
Simple OpenGL -- A simple, threaded C++ wrapper to OpenGL and GLUT
This project forked from subh83/sgl
Simple OpenGL -- A simple, threaded C++ wrapper to OpenGL and GLUT
************************************************************************** * * * Simple OpenGL (SGL) * * A simplified, threaded C++ wrapper for OpenGL and GLUT * * Version 0.2a * * ---------------------------------------------------------- * * Copyright (C) 2015 Subhrajit Bhattacharya * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, either version 3 of the License, or * * (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details * * <http://www.gnu.org/licenses/> * * * * * * Contact: [email protected], http://subhrajit.net/ * * * * * ************************************************************************** Modules used (code accompanying -- see individual code file/folder): ZPR Zoom-pan-rotate mouse manipulation module for GLUT Version 0.4, October 2003 by Nigel Stewart License: GNU Lesser General Public License Link: http://www.nigels.com/glt/gltzpr/ ************************************************************************** Features/Objectives: - Simplify the OpenGL and GLUT interface to make it intuitive like MATLAB. - Automatic threading for OpenGL windows and processes. - Allow easy creation and management of multiple windows. - Allow easy creation of objects and change to their properties. -------------------------------------------------------------------------- Basic usage: #include "sgl.h" // ... int main(int argc, char *argv[]) { sglFigure my_fig; // create SGL figure instance my_fig.init (); // Display the figure // ... // Add objects to figure. e.g, sglLine (x0,y0,z0, x1,y1,z1) auto my_line = my_fig.addChild ( sglLine (-2.0,0.0,0.0, 2.0,0.0,0.0) ); // etc... // Set property of an object my_line->linewidth() = 8.0; // ... my_fig.flush (); // flush all pending changes to the figure // ... } Suggested compilation options: -std=gnu++11 -O3 -g -w -lm -lglut -lGLU -lGL -lXi -lXmu -lX11 -lXext -lpthread -------------------------------------------------------------------------- Compiling: - This library is template-based. - There is nothing to build. Simply include the file "sgl.h" in your code. - For compiling, you'll need to link to the GL, glut, X11 and pthread libraries. - See the 'example' folder for examples (run the shell script to compile).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.