Algorithms

Started by
4 comments, last by Lode 14 years, 3 months ago
Hello, I am currently trying to prepare a list of game programming algorithms used commonly for a reference sheet. Anyone have any suggestions of algorithms that should be added or where I can find a good list of algorithms. Example. Dot Product vector1 U = (Ux, Uy, Uz) Vector2 V = (Vx, Vy, Vz) U * V = UxVx + UyVy + UzVz Thanks, Chaz [Edited by - ChazH on December 28, 2009 10:53:17 AM]
Thank you,
Chaz
Advertisement
I wouldn't call dot product an algorithm. It's more of a math function. An example of an algorithm would be A*. Might want to clarify what you want.
Well I guess then i'm looking for general functions that would be good to know.
Thank you,
Chaz
Yeah look up:

Maths:
Matrix functions (multiplication, addition that sort of thin)
Vector functions (Crossproduct, dot product, inverse, addition, magnitude, normalize)
Quaternions functions (Crossproduct, dot product, inverse, addition, magnitude, conjugate, normalize)

Algorithms, or thins that don't fit into math section nicely:
A* (A-Star)
Quaternion rotations
Matrix rotations
Matrix skew
SLERP (spherical linear Interpolation, tied to Quaternions)
Inverse kinematics (Very much maths, but more than pure math functions)
Flat shading
Gaurad shading (I think I splet that wrong)
Texture mapping (Very large topic there)
Phong shading
raycasting

That should et you off, just start reading through wikipedia.
Don't forget:
Sorting
Searching

Randomizing
Repetitive Functions (oscillators, springs, etc.)
Chaotic Functions

Probability Distributions


There are a tonne of "common" functions/algorithms used that are all very specific to different subsystems.
Interpolation, collision, transformations( compression, filtering, FFT, tone-maping, lookup-tables, etc.), memory allocation, task scheduling, level-of-detail scaling, etc.
Data structures and the algorithms related to them are also important, such as

Linked List
Dictionary, Hash Table, ...
Tree, Binary Search Tree, Red-Black Tree, and so on
Quadtree, Octree, etc...
Stack
Heap (the data structure)
Graphs
...

And some other things you could look into are

Binary Space Partitioning
Finite State Machines
Intersections (such as intersections of lines, spheres, cylinders, triangles, cubes, ...)
...

This topic is closed to new replies.

Advertisement