Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Visual is a 3D graphics module for Python with a friendly API.

branch: master
VCBuild Minor bug fix to text object; building for Python 3.2
dependencies Update threadpool for compatibility with Boost 1.50 (per Arfrever). C…
examples Initial import from VPython CVS.
include add more files to .gitignore introduced with ./configure
lib Initial import from VPython CVS.
site-packages Delete site-packages/vis/Makefile.in
src Export Python 3 init function symbol (per Arfrever). Closes #2.
.cdtproject Initial import from VPython CVS.
.cproject Initial import from VPython CVS.
.gitignore Merge pull request #1 from tomspur/gitify
.gitmodules Initial import from VPython CVS.
.project Initial import from VPython CVS.
Boost_OSX_Makefile.mak Initial import from VPython CVS.
Doxyfile Initial import from VPython CVS.
HACKING.txt Update instructions and makefile for Linux
INSTALL.txt Update instructions and makefile for Linux
LIBSIGC_COPYING.txt Initial import from VPython CVS.
MAC-OSX.txt Improve instructions for Mac build
MSWINDOWS.txt Initial import from VPython CVS.
MakeVPython2.6.iss Initial import from VPython CVS.
MakeVPython2.7.iss Update Windows installer machinery
MakeVPython3.1.iss Minor bug fix to text object; building for Python 3.2
MakeVPython3.2.iss Update Windows installer machinery
Makefile.am Initial import from VPython CVS.
NEWS.txt Initial import from VPython CVS.
README Initial import from VPython CVS.
acinclude.m4 Initial import from VPython CVS.
authors.txt Initial import from VPython CVS.
autogen.sh Initial import from VPython CVS.
compilevisual.py Various adjustments to the machinery for building for Mac
configure.ac Initial import from VPython CVS.
license.txt Initial import from VPython CVS.
mkdist_osx.sh Initial import from VPython CVS.
run Initial import from VPython CVS.
valgrind-python.supp Initial import from VPython CVS.
vpython_config_helpers.py Initial import from VPython CVS.
README
AS OF EARLY 2008, THIS INFORMATION IS OBSOLETE.
SEE INSTALL.txt instead.

The following notes were written by Jonathan Brandmeyer, June 2006.

This directory is a kind of sandbox that I'm using to build 
and test a new OpenGL rendering engine for VPython.
Dependancies (in Debian):
libboost-python-dev
libboost-thread-dev
ftgl-dev
libgle3-dev
libgtkglextmm1-dev
(Note: In Debian Sid, you will need to build gtkglextmm 1.2 from source, and
	apt-get install libgtkmm-2.4-dev)
scons

Notes for building:
Assuming you have all of the development packages that the new core expects,  
make sure that you edit the value of 'VISUAL_PREFIX' in include/vpython-config.h
to be the path to the source tree.  VPython uses SCons to build itself, and does
not include any kind of 'install' target, yet.  Instead, it builds its target
programs and libraries in-place in a layout similar to what you would find under
/usr

Directory layout
SConstruct
	A scons build file for this project.  Run `scons` to build the
	Python extension module.  Run 'scons bin/' to run the C++ tests.
run	A script that sets up environment variables to use the target libs and
	plugin.  ex: './run python2.3' will place site-packages/ in sys.path.
bin/  
	Programs are built in-place here.  To run any of the tests, prefix the
	command with the run script, like: './run bin/sphere_texture_test'.
	For a python program, say "./run python bin/bounce2.py'.
lib/
	Target libraries are built in-place here.
site-packages/
	The Python plugin module is built here.
site-packages/visual/
	The parts of the Python plugin that are written in Python are placed
	here.
include/
	Header files for the basic objects.
include/util/
	Header files for utility classes, like tmatrix, and vector.
include/gtk1/
	Classes for Gtk 1.2 + gtkglarea (defunct)
include/gtk2/
	Classes for Gtkmm + GtkGLExtmm
src/core/
	Implementations of classes defined in include/
src/core/util/
	same, for include/util/
src/gtk1/
	same, for include/gtk1
src/gtk2/
	same, for include/gtk2.  Also includes implemetations of some platform-
	specific utility classes for POSIX systems.
src/python/
	Implementations of the Boost.Python wrapper code.
src/test/
	A series of test programs used to excersize the individiual
	parts of this library.  These are written in pure C++.
	

TODO (*-ed items are must-do, w/l items are wishlist items):
	* Port to GTK on Windows (done)
	* Forward-port changes to support numeric/numarray (done)
	* Remove libgle dependancy; integrate advanced curve type (done)
	* Provide simple texture API (done)
	* Pango+texture text rendering; Remove FTGL dependancy (done)
	* Write simple icons for the toolbar widgets
	* Verify performance of the autoscaler, particularly with regards to
		frustum depth parameters. (done)
	* Autotoolize the project (done)
	* Fix any+all bugs identified in examples/*.py (in progress)
	* Provide compatability interface for lighting (done)
	* Update INSTALL.txt, NEWS.txt (done)
	-------- 4.0.BETA0 release here ---------
	* Write demo of display_kernel integration using PyGTK
	* Generic texture support for all objects.
	* Generic transparency for all objects.  Consider full-scene polygon sorting
		of translucent bodies.
	* Write documentation for new features
		- lighting
		- display_kernel
		- new scaling effects
		- texturing
	* Ability to disable the toolbar
	* Optimize away extra display_kernel::pick() calls
	* Investigate slowness (mostly done)
	* Add points object
		- support GL_POINT_SPRITE?
	* Additional features as users request
	* Fix bugs identified with ALPHA0 and BETA0
	
Something went wrong with that request. Please try again.