Sgt. Conker We are "absolutely fine"

17Aug/100

IcoModel Beta

A new interesting project popped-up on codeplex. Daniel Hoctor released the first beta version of IcoModel. The original announcement on the xna forums explains what IcoModel is all about:

What is IcoModel?
IcoModel is a free, open source terrain system that provides an easy way to create and manage dynamic terrain in the form of a globe. The IcoModelProcessor has been designed specifically to work with geodesic spheres; the mesh is broken down into sectors--the pentagons and hexagons that make up the sphere--which the IcoModel class uses to manage the terrain.

How does it work?
You simply load a non-textured, UV Mapped, geodesic sphere mesh via the IcoModelProcessor. Then you create an effect key that represents the different terrain types in your project. From that point on, you can assign any sector an effect key index, at any time. When you call IcoModel's draw function, each sector will be drawn according to its current effect key index.

You can see a video of IcoModel at work below:

P.S. Thanks to Mike (Bob Taco Ind) for the tip!

21Apr/109

Article : Sun- and Lens Flare as a Post Process

by Charles Humphrey

Now this sample has come from my current XNA toy which is the Blacksun engine I am currently writing in XNA 3.1. It uses deferred lighting, instancing and a post processing framework that I found on a great site here, all I had to do was make it engine ready.

If you want to have a look at the effect in the engine you can see it here.

This sample is just one of the elements from the post processing framework in the engine, there are none of the other goodies in this sample, just the Sun post process. This sample has also been created using the XNA 4.0 CTP, so I only had one render target to work with at the time. This means that you can't see the sun being culled behind objects in the scene as I can't create a depth map as well as the rendered scene, to be honest, I still don't have that bit of the shader 100% anyway :P

5Apr/103

HOWTO: Step Away From Storing an Orientation as ‘3 Angles’

Via our local but currently distant MVP Catalin “Please leave a message after the beep” Zima comes the tip to an overview of matrix math for rotations:

As intuitive as the ‘3 angle’ approach is, the Matrix approach might be that daunting to the beginner. But it doesn’t have to be. I believe that after learning the basics of a matrix and how to visualize a matrix in the mind’s eye while manipulating it, it will be very easy for the beginner to pick up. So for the cost of investing a little time to understand the Matrix, your effectiveness in 3d programming will increase dramatically and you can stop the insanity of banging your head again the ‘3 angles’ brick wall.

Get your full fix at Matrix Basics. How to step away from storing an orientation as ‘3 angles’.

Tagged as: , , , , 3 Comments
15Mar/100

XNA 4.0 MultiEffect

X-Tatic has created a wrapper for all 4 built in effect types in XNA 4.0

What this means is that you can store a single type of effect yet have it be any one of the four included effect types, while still having access to all of the properties that any of the underlying effects expose.

The reason for MultiEffect is that its useful to use an effect without trying to figure out which of the 4 types it is and which properties/methods to call. You can call any of them, regardless of whether the effect implements them.

How To Use:
// to create a MultiEffect
MultiEffect effect = new MultiEffect(); // this defaults to BasicEffect

// or via any one of the built in effects
MultiEffect effect = builtInEffect.ToMultiEffect();

// you can access the underlying Effect
Effect effect = multiEffect.Effect;

// or explicitly cast it
Effect effect = (Effect)multiEffect;

// Finally, you can query the type
MultiEffectType effectType = multiEffect.CurrentType;

Download the binaries: http://www.xtaticware.com/downloads/XNA4MultiEffect.zip

or the source: http://www.xtaticware.com/downloads/XNA4MultiEffectSource.zip (MS-PL)

Filed under: 3D, Shaders, WP7, XNA No Comments
11Mar/100

Light Pre-Pass

Michael Quandt has posted a write up detailing the theory behind his Light Pre-Pass code he released for educational use previously.

7Mar/100

KiloWatt Animation for XNA


Jwatte has tweeted news prediction of a new version of his KiloWatt animation library and Pre-release bits are here.

"This is the third-and-a-half release of the KiloWatt Animation library. It is intended as a companion to the kW X-port 3ds Max X file exporter, to be used with Microsoft XNA Game Studio. This release is for version 3.0/3.1 for Windows and Xbox 360. Sorry, no Zune support :-) "

He goes on to explain how this is different to the XNA Skinning sample on the creators website

The KiloWatt Animation Library is different from the XNA Skinning sample code in several ways, including:

  • KiloWatt Animation stores animation keyframes as position, rotation and scale (for a total of 10 floats), instead of the full matrix used by the Animation Components.
  • KiloWatt Animation removes unnecessary keyframes (down to a tolerance that you can specify), for a usually quite significant savings in file size.
  • KiloWatt Animation does interpolation between animation keyframes using quaternions, which means that slow-motion and varispeed playback will still look smooth.
  • KiloWatt Animation supports composition (blending) of animations to generate the final output pose for a given Model.
  • KiloWatt Animation replaces the Effect used for your Model only when you tell it to.
  • KiloWatt Animation does not make any specific demands of your geometry; you can (and should) use it to animate rigid objects such as windmills, catapults etc. in addition to skinned meshes.
21Feb/100

Code Snippet: Simple Arc Ball Camera

Roy Triesscheijn released the fruits of his hard, day filling labour in the form of a simple arc ball camera class.

18Feb/101

Henge3D Physics Library for XNA

There’s a new Physics engine targeting the XNA FX (hat tip to to Nick Gravelyn for the discovery):

Project Description
Henge3D is a 3D physics library written in C# for XNA. It is implemented entirely in managed code and is compatible with the XBOX 360.
Overview:

  • Rigid body simulation with collision detection, response, and approximated friction.
  • Supports collision skins consisting of arbitrary convex polyhedra, spheres, capsules and planes. Collision detection against triangle meshes is also supported.
  • Supports a number of constraints, including body point constraints, revolute joints, universal joints, prismatic joints, etc.
  • Multi-threaded collision detection and collision response.
  • Ability to import collision skins from Blender and potentially other modeling programs.
  • Supports ragdolls using collections of rigid bodies with constraints (see the Holodeck program for examples).

Tagged as: , , , 1 Comment
6Feb/100

sgMotion v1.0.0 Released

Tom Looman released his sgMotion library to CodePlex. Says Tom:

sgMotion is an animation library (based on XNAnimation by Bruno Evangelista) and provides full integration with both the Sunburn Engine and the Sunburn Framework.

More at the source.

5Feb/100

The Shawn: Why do 2D worlds make sense?

Shawn Hargreaves ponders the possible reasons why 2D games are still popular: “What makes less sense to me is why our brains are so much better at doing math and physics in 2D than 3D” and causes a discussion in the comments.