Since Animated aliens and alternatives algorithms, I had a pretty good weekend. The reason for this I've determined is because I did what I set out to do. I think it's very rewarding to plan something and then do it. This is especially true if its something that you want to do. I think in this way, planning can be a precursor to a pretty productive and as mentioned here, rewarding weekend. Planning is good.  

I spent most of Saturday learning about 'Dead machine' analysis and a little bit of network forensics. This was interesting and its was important to do because this knowledge is required for my upcoming assignment in which I need to find some hidden information on a hard drive about a planned criminal attack. Getting this work done now enables me to at least start on that assignment, which I think is going to be a lot more difficult that it may seem. Part of the difficulty will be in not actually finding the information, which might be moderately difficult, the difficult thing will be the recording of 'comtemporaneous notes' and then writing up a Crime Scene Investigation report. So I'm glad I got that preliminary work done.

That took pretty much the whole day of of experimenting with Autopsy, Kali Linux and various forensic analysis tools. The remainder of the day, well I thought should be spend sweating. I decided to go to the gym at around 16:00. So I hopped on the train towards Rayner's Lane and arrived probably around 17:00. I decided I'd work on my back and did my back routine. I over strained by upper back but felt that it was a good workout, I was in there for about 1.4hr and had something to eat there afterwards also (after a shower and sauna). I always have the same thing and its changed its name over the years. It was once called a Protein Power Up but now is called a High Protein Plate Salad.

I'm a lot weaker than i used to be now that I only go to the gym once a week but that's OK because I'm offsetting by my 3 days a week running into the office, which is 22.5km run week. I can do more but I think a balance needs to be met because I'm finding the inability to study on the way to work does hamper my progress somewhat. That being said, the 2 days of no running gives me x4 oppertunities to study as its on the way to work and on the way back. I count the ability to study on the train as opportunity to use my laptop. I can't run in with a laptop. 

Sunday was all about setting up getting my Game development prototype using 3D. That was also a all-day affair and I enjoyed every moment of it. I started at about 9-10am and finished at about 22:00 and it was not a dull moment in there. Firstly having read the portions of Game Engine Design and Implementation about implementing a 3D rendering manager, I was well equipped to at least try some of it out on my own. We're using Direct X10 which is 2 version behind the latest however I'm surprised how awesome and inspiring the graphics are that you can render using it. 

I started reading about Direct X a while back and I've picked up bits and pieces of what are the important ideas which has helped me actually find my way through the 3D portions of the above mentioned book. I've also reached out and bought a book on Direct X12 which is considerably less forgiving than its predecessors and having read this chapter on 3d(which uses DirectX10), that is very true. So I've decided to be a little more cautious about my learning and I'm going to start with DX10 and then move to DX11 and then finally DX12 because having reading a bit about all three, the majority of concepts are still the same - vertex shaders, input layouts, swap chains and devices etc., but differ enough to be annoying in how to get these things working. For example in X12, you have to worry about synchronization between GPU and CPU using resource barriers - no so in DX11 and earlier. The benefit is performance. But when you're learning, I think performance is not worth worrying about so I'll leave that when I can skillfully hope between DX10 and DX11. I think that having finished my reading, I can appreciate DX10 now enough to move on to DX11 when I need to and I don't need to right now. 

Basically my 3D renderer doesn't really work at all, I tried to render a 3D mesh and it looks like a spray can exploded but I learnt a heck of a lot getting there:

  1. Input layout is not a scary concept, it just specifies the format of the data you'll be placing in the GPU, namely the format of the struct of the vertex data you'll be sending. 
  2. DX10 is pretty great just as it is and using it to learn the concepts of 3D rendering is more than sufficient.
  3. Its best to start, because starting finishes sooner
  4. I've got a good appreciation of how the DX3D structures work
  5. I know how DX uses COM interfaces as portals of functionality that control buffers such as resources
  6. I know how the swap chain practically works and how render targets interfaces with them and the D3d device - this was really useful and important to feel familiar with.
  7. I abstracted my swap chain and window creation process and this helped me understand how it worked and how complicated the standard setup can be simplified (too much code)

 I decided to buy a 2 books on DirectX10 and one on Game Math. I'm looking forward to getting them:

  1. Introduction to 3D Game Programming with Direct 3D 10: A Shader Approach 
  2. 3D Games Programming: Using Directx 10 and Open GL
  3. Math for 3D Game Programming and Computer Graphics

So, I'll be needing my evenings and weekends...

I went for my Monday morning run today and it was a pretty good one, generally speaking: 

I did have a crash last week, not spectacularly but maybe that's because I got up so quick as if nothing happened - my ego was the most impacted by the slip-up. I basically was accelerating around a corner and it was wet so that's double trouble - a accident waiting to happenn. I did get a little scratch on my elbow and a little bruised on my ankle but other than that I wasn't too badly affected by the tumble. In fact, it was quite exciting to have things happen so quick. You can even see the dramatic drop in speed from around 3'30 to like 9'00:

My spelling there is a bit off - that is the effect of the fall I think. Its a waiting game now if I'll recover my speech and writing to a normal standard!