Google
Home Applications Projects Code About Links ContactThursday, May 15 2008
A04CODE

Besides getting drunk and chasing women, one of my favourite past-times is searching the net for graphics articles and/or source code. Most programmers have some kind of code-related section and this is my two cents. I'll add the occasional topic to it when I can find the time.

Texture Articles:

Creating Bitmaps And Manipulating Bitmap Pixels

Generating Plasma Textures

Generating Cellular Textures

Generating Noise Textures

Generating Reaction-Diffusion Textures

Texture Snippets

Bump Mapping


Wireframe Sources:

Description: Extrememly simplified wireframe source. Here I've layed down the bare minimum of routines to enable the rendering of wireframe objects using the Windows API. In this case, the application generates a wireframe super-ellipse and rotates it.

wireframe.zip (source plus exe) (20kb)

Description: This is a mild extention of the simple wireframe example I wrote earlier. Included is the code to load a basic wireframe model from internal data arrays or externally from a simply formatted smf file. Unlit wireframe models tend to lack depth so I've provided some very simplistic infrastructure for planar shadow rendering. I've included a bit of tacky near-plane and line clipping code to enable model movement off the screen without the application shutting down. There's also some minimal code to allow you to drag and drop models into the viewing window which is always handy to have.

wiremodel.zip (source plus exe) (247kb)

Description: A few people have asked for the dolphin tween code so here it is in wireframe form. In essence, this example involves nothing more than performing a simple interpolation between three dolphin meshes and synchronising it with the dolphin's world matrix (overall position). If you know how to read model vertice and indice data and know how to perform basic interpolation then this should be pretty easy to take in.

wiretween.zip (source plus exe) (68kb)

Description: The attached project contains the bare minimum wireframe isosurface polygonisation code. Coded for the novelty factor more than anything else. I have much better code sitting on my hard-drive somewhere and I'll post it later, but this should get you started. I know most people want a DX metaballs example. I have a few of those, but I'll need to tidy them up first.

wire_isosurface.zip (source plus exe) (32kb)

Description: A very simplified spherical harmonics example. In short, generate a rounded object with polar coordinates and peturb the vertices in realtime by a factor determined by a spherical harmonics based formula. Extremely easy to code but, for some strange reason, difficult to find code for.

wire_harmonics.zip (source plus exe) (22kb)


Miscellaneous Sources:

Description: The enclosed project uses 3D Perlin Noise to add texture to a raytraced object. It works just fine but isn't at all representative of how to write a tracer - or how to integrate Perlin Noise into a tracer for that matter. I've put in just enough code to render a ball casting a soft edged shadow onto a ground plane with reasonable efficiency. Not that exciting.

Perlin3D.zip (source plus exe) (47kb)

Description: Artificial Intelligence 101. Nodal systems are nothing more than glorified particle systems. Not a lot to them, but they're fun to play around with. The nodes within the system move around with other nodes and, if they pass within a certain distance, communicate. Communication can come in a variety of forms. Usually, we arrange for them to attract or repel one another which happens to be the case here.

Nodes.zip (source plus exe) (35kb)

Description: A simple Blackjack game using the browsers Javascript capabilities. It's completely stand-alone, ie, only the following linking file (Blackjack.htm) is needed to run it. Feel free to use it for whatever you wish.

Blackjack.htm

Description: Generating turbulent noise textures with Javascript. I did this for a bit of fun. A novel idea, but probably not what Javascript was intended for. It works in IExplorer and works well enough in Firefox. I haven't tested it in other browsers.

JscriptNoise.htm

Description: Client-side cellular image generation with Javascript. The noise version got a good response, so I reworked it to produce cellular textures. It is a stand-alone html file and works in IExplorer and Firefox.

JscriptCellular.htm


Useful Code Links:

Paul Bourke - Tons of graphics related articles. I think every man and his dog has spent some time at this site at one time or another.

DevMaster - My new favourite coding site. All kinds of interesting stuff here.

Anglecode - Another site with enough graphics articles to keep you going for weeks.

Nehe - Lots of general graphics articles using OpenGL. I tend to use DirectX more these days but it's still one of my favourite sites.

Blackpawn - Demoscene group. There's a few cool articles there, including knots, cellular textures and lens texture generation.

Flipcode - Sadly, Flipcode is no longer active. For now at least, most articles and the like can still be referenced there.

Best viewed with IE 5.0+  //   Copyright Archadegames.com 2007Home Applications Projects Code About Links