forked from jonklein/breve
kephale/breve
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
master
Could not load branches
Nothing to show
Could not load tags
Nothing to show
{{ refName }}
default
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
-
Clone
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more.
- Open with GitHub Desktop
- Download ZIP
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
This branch is 28 commits ahead, 7 commits behind jonklein:master.
Latest commit
Git stats
Files
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
- breve source code release - version _VERSION_ - http://www.spiderland.org/breve jk [at] spiderland.org -- INTRODUCTION -- breve is a free simulation environment designed for multi-agent simulation. breve allows users to define the behaviors of autonomous agents in a continuous 3D world, then observe how they interact. breve includes support for a rich visualization engine, realistic physical simulation and an easy-to-use scripting language. -- BUILDING BREVE -- 1) Confirm that you have all of the required libraries installed. See the sections on "EXTERNAL LIBRARIES" below for more information on the libraries required to build breve. 2) Specify paths of external library and header files, if required If you have external libraries or headers installed in locations other than /usr/{lib or include} or /usr/local/{lib or include}, you may have to specify their location by setting the environment variables LDFLAGS and CPPFLAGS. Example: export LDFLAGS='-L/opt/local/lib' CPPFLAGS='-I/opt/local/include' 3) ./configure 4) make optimize To build the Mac OS X application: 5) make OSX_build To build the wxWindows frontend for Linux and Windows: 5) cd wx; make -- BUILD NOTES -- * For build notes on specific libraries that breve uses, please see the "EXTERNAL LIBRARIES: DETAILS" section below. * What are those errors about bin/osmesaloader.cc? Those are harmless. osmesaloader is a completely optional extension which allows CLI versions of breve to use features like light-exposure detection and movie exporting. It will only compile when Mesa libraries are found. * OS X Note #1: if a library is installed, but cannot be found with the configure script, you may have to run "ranlib" on the library before it can be found. See the ranlib manpage for more information. * OS X Note #2: the Xcode build targets breve.app is a simple shell script wrapper to build real_breve.app using the correct libraries from the configure script. Building real_breve.app directly will fail, because it is missing these library settings. * For the record, I am well aware that parts of this source are a total mess. This project and code, in one form or another has spanned much of my undergraduate education, a Master's degree and several years in research and industry. Parts of this code are now almost 10 years old. Piece by piece I'm updating the code and moving it to C++. --- PLATFORMS --- breve is actively developed and maintained on three platforms: Mac OS X Linux (x86) MinGW (Windows) breve has compiled successfully in the past on these other platforms as well, though some work may be required: Irix Solaris CYGWIN (Windows) Microsoft Visual C++ Please report successful ports and the changes required back to the author at jk [at] spiderland.org. --- EXTERNAL LIBRARIES: SUMMARY --- It's always a drag to have to download another set of libraries to get something working. Sorry. Below is a summary of libraries which breve uses. Some of these libraries are required, meaning that breve will not build without them. Others are optional, meaning that breve will build without them, but that some features will not be available. Many of these libraries are included with standard OS distributions and developer tools and do not need to be downloaded separately. Required: OpenGL GLUT ODE expat zlib libpthread libdl libgsl libgslcblas (or other BLAS library) Optional: libpng libjpeg libportaudio libsndfile libffmpeg libpush libenet libqgame++ lib3ds --- EXTERNAL LIBRARIES: DETAILS --- + [required] OpenGL, graphics libraries Platform specific -- consult your OS vendor for more information. + [required] GLUT, OpenGL Utility Library http://www.opengl.org/resources/libraries/glut.html Included by default on many platforms. Windows users can obtain the DLL from: http://www.xmission.com/~nate/glut.html. + [required] ODE, physical simulation library http://www.ode.org Use version 0.9 or later and run configure with the following flags: --enable-double-precision --enable-release Be sure to compile with "dReal" as "double", as opposed to "float". Some versions of ODE make liberal use of alloca() to allocate memory on the stack during simulation. This can cause crashes if the simulation becomes too complex and causes a stack overflow. For this reason, official builds of breve use a modified version of the ODE source. + [required for breveIDE build] wxwidgets, wx Interface Library http://www.wxwidgets.org This library provides the user interface functionality used by breveIDE on Linux and Windows. This library may need to be compiled with the flag --disable-unicode . + [required] libdl, dynamic loading library This library is already installed on most platforms. A notable exception is when building on or for a version of Mac OS X prior to 10.3. For pre-10.3 versions of Mac OS X, users will need to install a library called "dlcompat". + [required] expat, XML parsing library http://expat.sourceforge.net/ + [required] zlib, gzip compression library http://www.gzip.org/zlib/ + [required] libgsl, GNU scientific library http://www.gnu.org Provides support for the Matrix and Random Number Generation classes. + [required] libgslblas, or other Basic Linear Algebra Subroutines library http://www.gnu.org A library of subroutines required by libgsl. Distributed with GSL. This library may be replaced by other implementations of the BLAS library. On Mac OS X, the System vecLib framework is used, which provides hardware vector acceleration on supported chips. + [optional] libjpeg, JPEG I/O library http://www.ijg.org/ Provides support for loading JPG images. This library is optional. If it is not available, JPG import will not be supported. + [optional] libpng, PNG I/O library http://www.libpng.org/pub/png/libpng.html Provides support for loading and saving PNG images. This library is optional. If it is not available, PNG import and export will not be supported. + [optional] libportaudio, portable sound APIs http://www.portaudio.com/ Provides support for playing soundfiles. This library is optional. If it is not available, sound support will not be available. + [optional] libsndfile, portable sound file I/O library http://www.zip.com.au/~erikd/libsndfile/ Provides support for loading soundfiles. This library is optional. If it is not available, sound support will not be available. + [optional] libffmpeg, mpeg movie export library http://ffmpeg.sourceforge.net/ Provides support for exporting MPEG movies of simulations. This library is optional. If it is not available, movie export will not be supported. The ffmpeg maintainers do not typically make official release versions, and the ffmpeg APIs do change from time to time. Because of this, it can sometimes be difficult to get ffmpeg working with breve. Version 2.6 of breve is reported to compile correctly with ffmpeg subversion revision 4709. + [optional] libpush, push language libary http://push-evolve.sourceforge.net Provides support for the Push programming language for evolutionary computation. This library is optional. If it is not available, the Push language will not be supported. Requires GCC 3.3 or higher. + [optional] libenet, networking library http://enet.cubik.org/ Very optional. Not yet used for any release-quality features. + [optional] libqgame++, Quantum Gate and Measurement Emulator http://hampshire.edu/lspector/qgame++ Very optional. A library for simulating quantum computing. + [optional] lib3ds, lib3ds , for loading 3d model files http://lib3ds.sourceforge.net/ A free and open source library that support loading 3DS files (aka 3d loading 3d models). (GNU GPL) -- License -- /***************************************************************************** * * * The breve Simulation Environment * * Copyright (C) 2000-2007 Jonathan Klein * * * * 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 2 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. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *****************************************************************************/
About
The breve simulation environment
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Python 88.5%
- C++ 6.1%
- Shell 1.5%
- Perl 1.3%
- C 1.2%
- Objective-C 0.9%
- Other 0.5%