1.3.13

let the programming begin...

So even after finishing my group project I have a few more assignments to go.
After seeing the games presentation, it has really motivated me to work harder and to look more into C++. 

Some things I have picked up across the internet which has been pretty useful and intuitive.
CUDA is quite an interesting platform that NVIDIA has developed for the latest GPUs. It basically utilizes the GPU in a much more efficient way. Developers can send virtual instructions and store memory with a mindset of parallel programming to speed things up. The CPU and the GPU work differently. CPU has a few "workers" that process and computes in super speed. However the GPU has  thousands of "workers" that processes slower. Over the past few years there has been a change in the way we code our programs. By allowing the programmers to code in main languages such as C++ to have access to the GPU and implement functions in a parallel manner which can speed things up a lot.
The main thing about using GPU is obviously processing graphics however we can stream the same data all at once so things like particles and physics can be calculated many times over very quickly.

For those who are just starting out programming, python is definitely a language to be looking into as it is being implemented in many programs. It is quick to script with and it  manages memory for you. You don't have declare variables and there's a lot less syntax compared to other languages. 
I have actually found a good simple website that teaches into the basics of programming and graphics. I still need to actually test it out however from looking at the tutorials and the example programs, it is a good place to start testing things quickly.
http://www.processing.org/

https://www.udacity.com
This website is also very good at explaining computer programming in depth. Coming back to parallel programming. There are video lessons that are engaging and has quick quiz to answer. Definitely worth looking into.

http://glsl.heroku.com/e#6896.0
This is quite a fun website that people share their code and people can sort of dive in and change the code aswell. So everyone chips in. It is using c++ opengl shading language. A very good place to learn in-depth shaders.

So at the moment I have a programming assignment due at the end of March. I have to create a flocking system that is pretty much a low level artificial intelligence.
It is based off the famous Craig Reynold's flocking system back in around 1987.
http://www.red3d.com/cwr/boids/
It is basically simulating birds flocking together and different kinds of flocking. I won't be modelling and rigging and bird but instead it will be replaced with simple triangle ships as a representative. Obviously this can be further developed but the main goal is to produce something in OpenGL using QT and NGL (uni graphics library).