|
|
Software
! |
|
|
Hello,
This section is dedicated to the software i have
written that i judge
worth posting since they might be useful to other people, also at the
end
there is a list of Third Party software
which
i recommend to any unix programmer to have, or simply software
which
i have contributed a little.
|
Fun
-
Games |
|
Well i had created this section for all the
little games i
have lying around but with my thesis actually i haven't got enough time
to clean them up for publishing, so they're on hold until i get some
more
time!! :-(..(i'm letting this empty section here as a reminder to
myself).
|
Tools |
|
Just a set of little tools i had written to
make my life more
easy:
- dos2nix: a one
liner
shell script to eliminate
the annoying ms-dos carriage return characters from a set of text
files.
- unberk:
Simple
perl scrript to convert
into standard C/C++ sets of files that use the ugly and stupid berkeley
macros (pascal like syntax).
|
Graphics |
|
For the most part my programs are computer
graphics related,
not only because it's my Ph.D. research area, but also kind of a hobby
(or maybe because i just love graphics ;-)
Libraries:
- GLUO:
Is a
simple library/api (in C) that contains some nice OpenGL
objects and utility functions to be used as visual cues or manipulators
in graphics programs (requires Glut)
It contains some practical matematical functions like min, max, clamp,
smooth step, box step, sawtooth, spline interpolation.
It contains opengl representations for objects like grids (2d,3d),
vectors, axis, arrows corners, corner boxes (useful for bounding
boxes),
pyramids, cameras, lamp models, help strings (printf alike), voxel
visualisation
(cubes with/wout wired superposed).
It contains also some functions for the fast
creation of voxel
objects as voxel lists or in a voxel grid like: voxel spheres, and
Triangles
voxelization (useful to voxelize a polygonal object).
It's only a plain C file and header so you can
include it with any software
package you like, documentation is included but can be generated
using Doc++ on
the header
file.
- libDXF:
A
simple library to
load and manipulate 3d objects in the autocad DXF file format,
it's
OOD but implemented in plain C, it contains the autocad DXF
format description and it's possible representation as a language
syntax,
also has an example of how to convert DXF objects to OpenGL
display lists.
- dmotif:
A simple library
of basic drawing functions based on Xlib that simplifies the
integration
and utilization of X drawing functions in combination with motif
widgets
(sorry documentation in spanish only).
- flews:
A set of extended Widgets for the excelent FLTK
library, the current version (0.3) contains the following
widgets,classes and helper functions:
- Fl_Value_Slider_Input
- Fl_Value_Input_Spin
- Fl_Spin
- Fl_Ball
- Fl_Multi_Value_Slider
- Fl_Pack_2D
- gl_image
- Fl_Quaternion
- fl_trackball
The Fl_Ball widget it's optimized so it doesn't require any kind of
3DHW
acceleration.
Programs:
- YAGE - Yet
Another Gradient Editor: YAGE is a simple gradient editor,
similar in functionality to the ones found in many graphics programs,
it's purpose is to have a simple and fast tool for editing and
converting between gradient formats. Version 0.2 can read, write,
convert between VU and GIMP gradient formats and added support for MS-Windows.
- dpbrush:
Co-authored with Francisco
Chavés is a simple paint program that uses pure xlib
functions
only, it's pretty old but still pretty useful as a pure xlib
programming
example.
OpenGL/Mesa:
- stex3d.c: A
simple OpenGL
texture 3d demo program i wrote to test the Mesa
implementation to this extension.
- texture3d.c:
Another demo of the
mesa 3d-texture extension to simulate procedural texturing, it
uses
a lattice gradient noise and perlin turbulence functions.
- GLUO:
for
more info read the explanation above
|
Miscellaneous
Programs |
|
- fltk-1_0_9-mwheel.diff.gz:
a patch for fltk 1.0.9 that let's you use the mouse wheel on Linux with
the scrolling, and browser widgets.
|
Third
Party Software that i recommend |
|
This is a list of links to third party software
which i recommend
since they have been pretty useful to me, and i think they must be
standard
parts of the set of tools of any unix programmer (BTW, i
also
had the pleasure of contribute code to some of them ;-):
- Mesa: A
great OpenGL
alike multi platform library created by Brian
Paul, i had the pleasure of contribute with the implementation of
the
point parameters and Texture 3D extensions.
- bk2Site:
A wonderful tool
created by Jose M. Vidal, to
convert
your Netscape bookmarks into a yahoo!
alike web site!!, i used it to create my
links
section, i had the pleasure of contribute with a modification
that
allows it to use a single directory instead of a directory hierarchy to
overcome the limitations imposed by the free web page providers
(included
after version 6.4).
- Doc++:
Great and simple
literate programming tool, pretty easy to use, similar to javadoc but
for
C/C++/Java.
- FLTK: An
excelent
fast, light and portable
GUI toolkit.
- nedit: Well,
i
think that the emacs/x-emacs
guys should really take some clues from these guys, it's a very light,
fast, flexible and powerful X-Windows
editor,
it gets its job done in a pretty good way without eating all of your
memory.
- flide:
created
by Maarten de Boer
it's
a merge his fltags
and flmake
tools on one simple interface, it's a fast and light tool that allows
fast
makefile error messages and class tree navigation (kind of a fast
light IDE ;-). I cleaned up the multithreaded part and added regular
expressions
for extending flmake easily to recognize the output of different
compilers,
also added a run list for the automatic handling of multiple
executable
targets. It's still a work in progress but nevertheless highly useful
in
combination with nedit or any
other xwindows programming editor.
- ddd:
The best graphical
debugger interface for all the unix debuggers (dbx,gdb,...)
- flex++
& bison++: A great replacement for lex/flex and
yacc/bison
if you want to use C++, they extend the traditional flex/bison in a
simple
and powerful way that allows you to easily encapsulate the parser in a
class (better than the standard flex/bison C++ output), allowing you to
have multiple lexers/parsers generated by them into the same program
without
having to use name mangling utilities.
|
|
|
|
|
|