News
New concept art for Merki
has been released, along with a look at the artwork pipeline.
From the Programmer
Written by Invisible
Last week I created a model viewer for our artist, GreyKnight. I was
unable to find a 3D modeling program which allowed enough fine-tuning of
the camera and projection. The artwork needs to be drawn at an
orthographic custom-isometric angle so that the texture looks correct
after being applied to a mesh. The closest I was able to get was
Wings3D, but it wasn't quite close enough. While powerful, their custom
camera coordinate editor wasn't designed with this kind of thing in
mind. I finally settled on setting up a special copy of the isometric
workbench which loads a model called test.ms3d and displays it. It would
have been nice to keep model editing and capturing in the same tool,
but this works fine.
It turns out that it was a good thing I
created that model viewer. One of the requirements for it was a lighting
system. The reason for this is to make it easier for GreyKnight to find
the edges between polygons; with flat shading, the only way you will
see them is if you color them separately in the model editor. I already
had a usable lighting system jury-rigged to the vertex projection system
(the testbed uses software transformation currently), but the lighting
would change as you moved the camera around, and it wasn't at quite the
right angle. So I created a basic light which could be moved around
until we found the correct angle. Unfortunately, as I moved the light
around I noticed it was flashing in and out at certain positions. After
double-checking the code, I found what appeared to be the problem: the
dot product was taking into account the w component of the vectors.
Thinking it must have been a copy+paste error, I removed the code and
tried the demo again... To find that everything had disappeared. You may
have already guessed it; that w in the dot product calculation was
being used in projection. To make matrix-vector multiplication code
easier to read, I was creating temporary vectors from the matrix and
performing a dot product between them and the vector. Unfortunately, the
w component is infact required for this to work correctly. After I
found what the root problem was, the solution was rather direct: create
separate 3x3 and 4x4 matrix classes, as well as 3D and 4D vectors. The
math system is once again working correctly, as far as I can tell.
I was two days into the design of the rendering pipeline when I
stumbled on an interesting technique: instancing. Instancing, in
reference to rendering, is where you have one copy of a mesh's geometry
which is drawn over and over again for each instance of its use. For
example, you would send the geometry for a tree to the graphics card,
and then just send a bunch of draw operations with different world
matrices to position the tree in the correct location and orientation.
Without instancing, you would need to send the geometry for that tree in
addition to each world transform to the graphics card with each draw
operation. I started work on a new design, but the events I mentioned
previously held me up for most of the week. I plan on finishing the
design next week, and hopefully I will be posting a video showing off
the new renderer.
Artist's Easel
Written
by GreyKnight
iScribble
Sketches #26
(Click
to enlarge)
(Click
to enlarge)
Community Spotlight
Written by jaythemage
Over the past week, a challenge was issued to the SAO
community: If we donate a total of $500 to IfThen Software,
the development team will update SAO.
There has been much debate
over what would happen should this actually occur, but the general
consensus is that if anyone has a few extra dollars, he/she would donate
a little. Maybe over time, the $500 mark will be reached.
To
contribute to future community spotlight articles, please visit this
forum: http://www.ifthensoftware.net/forums/index.php?showforum=37
Funny Quote of the Week
From the IRC chatroom
Background information: Pifreak (an SAO
moderator) was talking with the people in SAO, and tried giving a link
to the forums using a
non-existent HAL command. HAL shows the SAO in-game chat in real-time,
which is prefixed with "".
pifreak: .say forums
pifreak: :(
HAL: Syncopation:
http://www.ifthensoftware.net/forums/
InvisibleMan: Wow, it
worked
Newsletter #68 - Merki Concept Art
Two new pieces of concept art for Merki have been released, model viewer and math system trouble, instancing, new sketches, donation goal for SAO updates, and more.