Richard Bamford


Second year Computer Science student at the University of Hull. Interested in maths, physics and graphics.

Blog posts

Recovery programming

Sorry!Hello, sorry I haven't posted in a long while I have been super busy with some personal things. Here are some things I have made over the past couple of weeks while getting back on my feet!LANChatWhile learning how to make LANHelper I made another program where you can chat to people on your LAN and send files to them. From making this i learned how to create a udp networking system using he… Read more →

Project 6: Marching cubes algorithm and metaballs.

The marching cubes algorithm is a way of creating polygons from volumes of data. The data it works on is varied such as 1 / R^2 (the one used to produce metaballs) and a noise function like perlin noise.My implementation of marching cubes in a nutshell is initially the scene is split into a 3d grid of voxels, then at the corners and center of each voxel an isovalue is calculated (to form the isosu… Read more →

University work: The Column.

This assignment for 3d graphics and simulation module involves rendering a scene from scratch using opengl and simulating physics with collisions between different shapes.Here's what I have so far:I still have a bunch of work to do with the portals (you can see that they disappear and reappear), the collision responses between the objects (it is kind of `glitchy` and I want to implement proper pre… Read more →

Graphics Work

A quick update on what I've been working on recently.For one of my modules Simulations and 3D Graphics, we were set a task to learn lighting and materials. So far I have implemented a single light, using ADS and blinn-phong (again).The camera can rotate, move forward/backward. The armadillo can be rotated on it's pedestal and the whole scene can be rotated. Read more →

Project 5: Stanford dragon rendering

This dragon is one of the many models which the Stanford University Computer Graphics Laboratory scanned. More info http://graphics.stanford.edu/data/3Dscanrep/. I used this to practice for an upcoming module, it is made in OpenTK and uses OpenGL 4.5. Work for this included:Loading vertex and normal data from .OBJ.Parsing material file for Blinn-Phong attributes.Blinn-Phong glsl shaders.Setting mo… Read more →

Project 4: Ray casting with a 2d graphics library.

Implementing this using one of my favorite frameworks (https://love2d.org/) in Lua was a lot of fun!This is heavily inspired by Wolfenstein 3D.It involved simple trigonometry, calculating ray/shape intersections, figuring out how to map textures and lighting effects. A problem I encountered was a fisheye lens effect, because for each ray projected into the world, I would map the intersection dista… Read more →

Project 3: Grass Sim

Overview One of the main problems with rendering lots of primitives, is each one requires its own draw call/position definition.A solution to this is instanced rendering, where you give opengl a set of vertices and tell it to render it X amount of times. Since it computes everything internally from then on the cost of it is near 0.Instanced rendering does this (pseudo code):for 0, X doSet Instance… Read more →

Cloth Simulation Update

Some of the issues I found with the system since my last post:I assumed that all constraints had the same rest length, now it takes into account shear and linear constraint lengths.I only accounted for X,Y properties of each point which caused points to act strangely when close to each other, I have changed it to work in 3D. Although the view only looks 2D. Here's the result: Read more →

Project 2: Cloth Simulation

Cloth simulation using opengl and c#.My previous project was about learning the graphics api opengl (lighting/models/projections/shaders) and I feel like if I wanted to carry it on I would have to start again from scratch using things I learned the first time around.Instead I am focusing on some other concepts which have been on my bucket list for a while now, cloth simulations.In the beginning th… Read more →

Sketchy physics simulations.

Today I attempted to wrap my head around portals...In my simulation, when the spheres reach the bottom of the tube, they are teleported to the right hand surface of the cylinder. Maintaining speed but changing the sphere's direction.Initially I ran into a problem of them gaining energy over time, since the force which pushed them from the portal is proportional to the velocity it hits the bottom a… Read more →