Monday, 21 April 2014

Finals Finally Finalized.

     Hello again everyone,

     I wanted to take this time to make a final address to everyone seeing as how my studies for the semester are nearing a close, and my exam for the course I discuss through these blogs will be completed tomorrow at 2 pm.

     As the exam closes in I have finished my reviewing. Deferred rendering was the final thing that I decided to go over, and although I have no thoroughly reviewed the code, I know that it is the separation of the rendering stages of geometry and lighting. It allows for lights to have their own unique attributes and each has their own region of influence (ROI). One of the hardest things to do, since their are so many lights/shadows, is antialiasing. This, as well as memory bandwidth problems, make these sort of tactics only good if you have the right tools at hand, and the right capabilities when it comes to supporting such calculations.

     Seeing as how this was stressed beyond imagination, for those of you who actually care to learn something from what I say, here is the best thing to remember:

     - Start with arrays of data (vertices)
     - Those vertices are passed through to the vertex shader
     - Primitives are then assembled (triangles)
     - Those triangles are then passed through the RASTERIZER**(very key in this process)
     - Pixel data is then passed to the fragment shader
     - The fragment shader output is tested and blended
     - This is then rendered to an FBO (Frame buffer object)

     And there you have it. Biggest, most important thing - being the graphics pipeline. If you want to know more, do some research on the pipeline in particular. If you want to know more about me, send me some questions via twitter and I will be sure to respond. Thanks for reading, thanks for a great year.

Brayden, Out.

Sunday, 20 April 2014

Exam Time

Hello Everyone!


     It's exam time now, and as you can imagine the stress is real. My concerns for my marks are fairly low at this point simply due to the facts that I am currently at a passing position for 90% of my classes. All of the classes that are required in order to move into my next year of study here at UOIT I am guaranteed to pass in at this point so long as I go and write the exams and get around a 50. Not a bad place to be, and I am quite sure that I will be fine.

     I do have to mention that one of the biggest reasons that I am sitting at a very good position in relation to computer graphics is because of the multiple in class bonus experience chances that Prof. Hogue gave us, and they are much appreciated as they boosted me from a simple passing mark, to a mark I am actually happy to be seeing on my transcript.

     When it comes to thinking about the computer graphics exam, my biggest worry is that I won't be able to remember what is going to be on it. I know that I can study the midterm and that the majority of the material is relevant will more than likely be on the final as well, BUT I think that there will be a much bigger emphasis on the latter half of the semester's material and I know for a fact that my understand of that material is average at best.

     FBOs are the biggest thing in regards to the latter half of this semester, and although I previously said that I am not the best with this material, I do believe that I have an understand of how they work as they (at the VERY base level) are a texture created from the rendering process that will look like a snapshot of what the camera will be seeing at that stage in the rendering process. From there on out, that created "texture" is manipulated with post-processing effects such as bloom. Having your entire render area being saved in a simple form like a texture just makes it THAT much easier to perform effects on it.

     Another big topic that I am expecting to be touched on on the exam is the graphics pipeline consisting of:

           -> Vertex Processor
           -> Primitive Assembly
           -> Rasterizer (Which is a big thing - and is totally magical)
           -> Fragment Processor
           -> (FBOs)
           -> Pixels

     Overall I feel confident going into these next couple days for exams. I will be spending a reasonable amount of time studying in the next couple of days simply to make sure that I haven't missed anything, but I believe it will go well.

Thanks for reading, and as always, have a great day and Happy Easter.

Brayden. Out.

Friday, 14 March 2014

Updates();

Updates()
{

    // Hello World!;

        //  I'm excited to say that I've made quite a bit of progress thus far in my game;
        //  Differences from the last update that was given are as follows;
               for(int i = 0; i < thisList; i++)
               {//Beginning of my updates for this week
                   i. I have created a small system that allows me to place trees anywhere in my world;
                         i. a. This is done through a red dot placed on my height map, and a vector of models;
                         i. b. I also did the model, texture, implementation, and this system in a few hours;
                         i. c. The previous made me very happy;
                    ii. Stephen has the water shader looking fantastic.
                         ii. a. The sun orbits the map and the lighting levels change; Reflections work great too;
                    iii. I made it so the our ship now fires cannonball sprites
                         iii. a. Only problem is that they rotate with glRotate() an that causes problems;
                         iii b. They rotate in an orbit around the boat as the player rotates it - PROBLEM;
                    iv. Managed to not pass out during the day this week too....which is rare. Yay.
                    v. I've been pulling laaaaattteeee nights due to the work I've been attempting;
                    vi. Stephen and I made the portals requested and MIGHT get extra exp? Maybe?;
                         vi. a. This exp would push me to, maybe past 40. :O That would be SWEET.
                   vii. Seven is a cool number and I will end here because it's 1 am and I'm tired;
               }//Ending of my updates for this week.

//I hope you enjoyed the code-styled blog this week. I believe I missed a blog, but it's a tough thing to keep //up with when you're not used to doing it and are normally against such things.
         //These things normally being socializing in general. (Sometimes...)

//My regards to anyone who reads this, and thank you.

if(end == true)
{
     //Say goodbye here
     Thank you, and Goodnight!
          -Brayden
}


***Program Terminating_
     

Saturday, 1 March 2014

Exams = Stress

     It's been a long, stressful week in the midst of exams and all of the studying that has gone on. The work never stops amidst the studying, but there have been a couple of opportunities for breaks in between and those have made it all worth while.

     I did great on my entrepreneurial finance midterm, and I'm pretty confident in my Computer Graphics midterm. I'm concerned about accounting, and a tad stressed out this week because of that and the Computer Graphics work that was expiring after the midterm. THANKFULLY I accomplished enough to get myself up to a current 25 points. I'd say that is fairly far for this far in.

     The only progressions that have been made to our game is that we now have a main menu and a HUD. We plan on making the mini map a separate camera view from above the ship's location and render it to the 2D camera in the location of the mini map. This way it will move the shown image on the mini map in relation to where the ship is.

     Our/My goals for the next week or two is to get a pause menu in and working. A help/information menu for help and information, obviously, and we will be making final adjustments to textures and animations for out main ship and some enemy models that are created and hopefully be moving around the map in the near future.

Thanks reading, let me know what you think of the progress so far, and hopefully I'll be able to get out some more interesting information out soon and maybe even a few good pictures. (it's hard when most of the work is just code :( )

-Brayden.

Thursday, 20 February 2014

Reading Week is GREAT

Hello Amazing People,

     This week has been reading week for myself and others in my program. It's been nice so far, I've been able to relax and get some more rest, but I've also spent the majority doing work.

     The funny thing is, I'm not complaining. I've enjoyed sitting at home in a chair nicer than the one I have at school, doing work that I enjoy, and learning/relearning things that I will need to know for midterms.

     In the past week and a half I've made some great progress mentally in my personal understanding of the code that is going into the game we are making. I managed to code two shaders and complete 4 assignments for computer graphics. I went to every possible office hours opportunity that I could and learned how VAOs work (in detail) and how their information is used inside of shaders.
   
     I feel much more confident being able to sit down and create a shader program on my own now. My biggest problems (that I believe everyone is struggling with at this moment) are syntax errors in shaders, but those can be solved by some good amounts of focus and a lot of re-reading on my part.

     Stephen managed to get reflections working on the water in our game. The color requires a little tweaking and some randomness needs to be added as well, but for the most part it's looking great and is working as it should!

     As you can see, the lighter color is the highlights. Yes, they do move, and yes it is a beautiful feeling to have them working now. Also, there is lighting now on the ship model itself (calculated and applied via shaders - and also what I used for an assignment).

     The ship is also being loaded and texture with VAOs as I was talking about previously. This was a struggle for me for a while, but with the help of Dan I managed to get it finished and working perfectly.

     As for me now and going into the next week after the break, I will be continuing to study, and implementing menus (main and pause) as well as hopefully getting the updated HUD back into the game because I'm simply waiting on the artist at this point. 

Thank for checking out the updates,

Brayden. 

Friday, 7 February 2014

A Title to End ALL TItles

Captains log...Week 5.
     It's been an interesting week. After working on VBOs for a good 3 weeks and pulling my hair out over not being able to figure it out, Dan gave me a good amount of assistance to finish it off and I've got to say that I knew I would never come up with that, but it's not very hard. I think I was just getting myself too frustrated. I'll work on that, but coding for a few days on the same thing and having it not work...it's a little frustrating (a little is a huge understatement).

     I've been trying to get my first homework assignment finished for Computer Graphics, but I'm having some troubles figuring out how to get the variables in my game linked with the ones in my shaders. And since Dan's hours are now busy with other people's assignments I won't be able to get in the questions, darn.

     However, that's not too big of a deal because I've been making some great progress on my computer architecture assignment, and I still have some time to finish it, plus it's fairly easy, and I have all of the calculations set up and ready to go, I just need to get the variables/information through to the shaders properly.

     On the more personal side of things, Marc LePage and I might be making a bit of a colaboration on a song. I think that's pretty awesome, and it should be really good. Stay tuned for that, unless you don't care to hear it, in which case ignore this I guess...

Thanks for the read-through, have a great weekend.

Brayden Out!

Wednesday, 29 January 2014

Smallish Update

Hello there! 

    Today has been fairly productive, I've managed to implement the necessary Fmod classes into our game (for those of you who don't know, this is what we use for sound). Surprisingly it didn't take very long. After reorganizing our ENTIRE game in order to make it more efficient and flow nicely through functions (rather than be a stupid mess in just the main) I've gained some nice experience and I find organizing code to be MUCH easier now - exponentially easier, really.

    After the last couple of Intermediate CG classes ambient, diffuse, emmissive and specular lighting terms are burned into my mind - which is not a bad thing, actually. I've been understanding these concepts much better lately, and I'm finally grasping things I didn't before.

    One thing I don't get however, is how to create a VBO.....properly. I have a couple of difficulties with the setting up of the VBO itself. I've got all of the information set and ready to go and loaded in properly, it's just a minor detail at this point that I have to figure out. 

     Once that is working again....Stephen has been working on wandering algorithms, which are ready, and the path finding that I finished recently - then we combine them and BOOM! Gameplay. Success. Etc. Ha!

Brayden. OUUTTTT.