mylaboratory
Title image
 
Home
 
Software
 
Raytracer
 
Recipes
 
Photos
 
Mashup
 

Random photo

More photos More photos

Contact

  • Software related:
    software@

Related areas

Related links

  • PHP
    PHP: Hypertext Preprocessor
  • XHTML
    The Extensible HyperText Markup Language (Second Edition), A Reformulation of HTML 4 in XML 1.0
  • XHTML @ W3Schools
    XHTML is a stricter and cleaner version of HTML.
  • JavaScript @ W3Schools
    JavaScript is used in millions of Web pages to improve the design, validate forms, detect browsers, create cookies, and much more.
  • C++ @ Wikipedia
    C++ is a general-purpose programming language with high-level and low-level capabilities

Other sites

Search (Google)

Web mylab

Software

This page details some of the software I have written over the past few years. I mostly use C++ but have written in Pascal and Visual Basic in the past along with various other application-specific languages. As far as possible I have tried to keep my recent programmes compiling on both Windows and Linux, and they may even run in OS X.


PhotonLab

PhotonLab is the raytracer I've been writing for the past couple of years. It is fairly feature rich and still progressing, but completely un-optimised.

It renders either by backwards raytracing, Monte Carlo path tracing, a hybrid photon mapping approach, and now with ambient occlusion.

The input files use and XML format and can be dynamically generated using LUA scripts. The output can be standard or high dynamic range image. You can see some of the image it's generated on my Flickr page.

In addition to the raytracer part there are a few other little applications to help with generating scenes.


Web

I've been using these pages to help me learn web programming. The all make use of PHP and XHTML to build the menus, hit counter and dynamic content. The mashup pages also use JavaScript and AJAX to generate Web 2.0 style applications.

I have to say I love PHP, it's so useful and easy to use. JavaScript and CSS on the other hand is a real pain in the neck; as far as I can see nothing is as obvious as it should be and JavaScript is really annoying.

I will try and get round to uploading the code in the near future (although the JS can be seen by viewing the page sources).

I'm also helping administer and code the Oxford City Stars ice hockey supporters club website and installing the new Oxford City Stars main club site.


C++

GreyLab

GreyLab is a colourscale data plotter that I've been writing to use to analyse the measurements I've been taking as part of my PhD. It takes tab separated data files of various types, processes the data and produces 2D colourscales, linescans and 3D images which can be saved as raster or vector images.

LegoBFCLab

This is a little programme that I've written to help raytrace LEGO(R) models. The LDraw programmes and associated parts libraries were designed before the days of high performance renders and so not much attention was paid to correctly winding polygon vertices (or that's my opinion anyway, someone may be able to correct me). This leaves the frustrating situation where many of the parts have triangles and quads that are reverse-wound or, even worse, have butterfly errors. Therefore I wrote this programme that allows models to be loaded and viewed with the inside of faces red and the outsides green. This makes it easy to find them and then by pressing a single button they can be flipped or the vertex order changed and the file re-saved.

ImageMosaicLab

This is a programme to take a folder full of images and make a moasic of them. At the moment they are just put together in folder order but I will be adding random order and other features soon. The border width and colour can be set and the resulting image saved to produce something like this.


Bottom image