The terrain generated in the last post was quite bumpy, what if I
want smooth rolling hills or something that isn't quite so bumpy. There
are two options here - you can either play around with the
diamond-square weights and method of generating the terrain or you can
smooth the result. The method I have chosen is a mean (average) filter
also known as a box filter. The filter works by moving a square (say
3x3) across the terrain values taking the average of the pixels
surrounding it to give the center value an averaged result.
Continue reading
I added anti-aliasing to the rendering of the ray tracer. At first I
tried regular sampling which is breaking a pixel down into smaller
sub-pixels and shooting rays through the center of those pixels and
averaging the result. This was better than nothing but still created
some artifacts when rendering. The next trial was random sampling to
replace aliasing with noise, but the samples can become clumped together
and look unnatural. The method that I have settled on for now is
jittered sampling which consists of breaking the target pixel down into
sub-pixels and shooting rays at a random position through the sub-pixels
so that each sub-pixels has at least one ray shot through it. Changing
the amount of samples per pixel reduces the aliasing effect.
Continue reading
Today I was kind of bored so I decided to write a simple particle
system in XNA. The helpful tutorials over at https://rbwhitaker.wikidot.com/ helped point me in the
right direction. This particle system is very primitive at the moment, a
particle emitter follows the mouse around the window. When I get the
time (or the motivation) I am going to add a few more features such as
different particles (smoke, water, fire, etc.), some different effects
like attraction and repulsion and maybe the option to place multiple
emitters in the scene.
Continue reading
Since I got my new laptop, I have been working on a personal project
creating a simple, easily extendable raytracer.
Continue reading
This program is an older OpenGL based terrain loader. The program
loads in a greyscale heightmap and generates the terrain based on height
values stored in the image. This version uses the DevIL image library
which allows it to load a wide variety of file formats. Several textures
are loaded, these include the ground texture, the detail texture and the
water texture. A simple method of creating a water plane is to create a
plane at a certain level for example a y axis height of -10, then
animate the UV coordinates of the plane so that the water appears to
move.
Continue reading
Just a quick update, the video in this post shows some of the work I
have been doing for the International Centre for Radio Astronomy
Research. This video consists of 951 frames, each frame is a 3d volume
that has been calculated from the GIMIC data set. The volumes are then
rendered out from Drishti with a rainbow colour table.
Continue reading
The following reports are both about the visualisation pipeline that
I developed when working for ICRAR (International Centre for Radio
Astronomy Research).
Continue reading
I often have the need to transform cubic images into a cube map or
skybox, so I have written this program in python to create them quickly
and easily.
Continue reading
I am currently working as an iVec intern on the Visualizing Galaxy
Simulations project. The project involves taking cosmological simulation
data stored in .hdf5 files and converting point, mass, h1 mass data into
a volumetric 3d density representation of h1 hydrogen gas. I am using
Smoothed Particle Hydrodynamics to calculate the density contributions
of nearby points.
Continue reading
This code will load a doom md5 model with textures and animation. The
source code for this application was adapted from ( Link lost to
time ). I do have a better version of this application but some
of the features are not yet complete such as bump mapping and
displacement mapping. I will upload the updated version at some point in
the future when I have enough spare time to finish it.
Continue reading
My name is Daniel Beard and I am a third year games programming
student. I wanted a place to upload work that I have done and build a
profile over time. Hopefully someone else will get some use or education
from my programs.
Continue reading