|
One of my
third-term assignments was to write an exporter
for 3D Studio MAX using the MAX SDK. In addition
to the required features, which included
exporting vertex positions, normals, texture
coordinates, and skeletal information, I also
added a number of minor improvements, such as
optional automatic scaling and centering and the
option to generate TBN matrices based on vertex
positions instead of using MAX's normals.
As the second part
of my third-term 3DS MAX exporter assignment, I
added support for skeletal character animation
to my engine. The animation was originally
performed on the CPU, but was later moved to the
GPU using an HLSL shader.
One of the
biggest challenges of these assignments was
simply the process of understanding how 3DS MAX
stored its data so that I could write it to file
in a format that my engine could use. The
major stumbling block here was MAX's use of
multiple index buffers to reference different
types of data, such as vertex positions, normals,
texture coordinates, and so on.
Download:
Skeletal animation
video (191 KB, .wmv format)
This video demonstrates skeletal animation being
performed in my engine via an HLSL shader. |