Just don’t use the automated BIOS update tools

So I was an idiot and used Asus Ez update to update a few things, and by mistake selected a new bios. Now the problem is that Ez Update isnt really good for bios updates. Right, so I didn’t cancel it in time and it just got stuck on 99%. Now I was really afraid of cancelling the update, because you know, I might brick my bios. After like half an hour of staying 99%, I just restarted and crossed my fingers. Luckily it actually somehow updated the bios without any errors.

Just… don’t use Ez update for bios stuff… Its a nightmare…
Thats all!

An Update

So I havn’t written onto this blog for a while, and there’s quite good reasons for that.

I realized that my engine ran poorly in terms of performance, so I decided to rewrite it, took about 2 weeks to do so, and I’m much more happy with the result, even though not everything is in place, such as the physics system is a bit bugged out, not too much though, but graphically it’s much better, following the footsteps of physically based shading.

And the 2nd reason is that my PC died, the processor was somehow damaged, but I suspect that I was actually given a “broken” pc from the start, as the symptons started early on. So it’s been hard finding any time to program, as I’m currently using an older that does not have support for the newer versions of Directx, which blocks my development for my engine.

Although it’s not because I havn’t been programming at all, I’ve been using my brother desktop for programming when he’s not using it, but he’s rarely away from it, for one¬†reasons, it’s powerful as hell, even though I assembled and selected the parts for it.

And the exams are coming up, which means that I wont have a lot of time for programming or anything close to that, though after the exam period I’m going to resolve the no pc situation.

C++ – The auto key word

A funny remark ¬†which I discovered without realizing it ( Though I’m not the first one… ), is that the auto keyword can be used to access public members with private types, as so:

#include <iostream>
using namespace std;

class FooClass
{
private:
    struct PrivateFoo
    {
        bool m_bFoo;
    };

public:
    PrivateFoo m_Foo;
};

int main()
{
   FooClass foo;

   // The following code will produce an error,
   // you can't access the private type FooClass::PrivateFoo
   FooClass::PrivateFoo* fooPtr = &foo.m_Foo;

   // But this works
   auto fooPtrAuto = &foo.m_Foo;

   // Nothing fancy
   fooPtr->m_bFoo;
   fooPtrAuto->m_bFoo;

   return 0;
}

So as you know, I can’t use the type PrivateFoo directly, because it’s declared as private, but the auto keyword is permitted, even though it detects the type needed and, well, uses it. I see why is technically is permitted, but, logically, it doesn’t give any sense for me, though it might be usable.

Cuboid Engine Optimizations and JAP

All right guys,

so I’ve been busy with some few competitions, for some wierd reason we after all came in to the JAP (somehow some businesses gave up), but sadly we only got the 3rd place, little Resume:

So some teams gave up, so some space were available, so we came in. Though we got the 3rd place of the whole portugal (160-180 Businesses), I belive that we should have got the 1st place as we were the only ones who actually build the product ourselves, and didn’t ask another company to do so :(. But it’s something!

In the context of Cuboid Engine, now that the competition is over, I can finally return to my precious… :). But today I implemented Uber Shading, just to increase performance, it looks somehow like this:

Before:

  • Loads of Shaders
  • Time wasted in applying shader bffs to ID3D11DeviceContext
  • Time wasted in blending / alpha support
  • Loads of draw calls (per mesh)

Now

  • One shader for everything
  • One draw call (per mesh)
  • No alpha
  • Only one apply function per frame (not only once as 3rd party may be messing with my device context).

So basically in my Uber Shader High Level Shader Language File i have a struct with loads if integers, like this: cbuffer UberData {int _diff; int _text; int _dirlight; int _bumpmap;}

ID Tech Final Project

Hi guys,

i(and my family) decided to make a trip to USA to attend an ID Tech camp, for two weeks!

I just have to say that it was great, fun, and i learned myself and some code. What i mean with i learned more about myself is that before in time, from early ages in my life, i coded a lot, and still do, because i love it. But, i didn’t know if i was behind the world, or fairly positioned with the world, or actually ahead of the world.

My final project for c++(one course) was a 2d shooter where the level was randomly generated, and there was always one enemy, and one player(you), and he was shooting at you, and you had to go to the end of the level, and then a new level came, so basically survival. I guess it was pretty cool, but unfortunately i couldn’t use a project which i have been working for quite a while now(I will post it later), because i already had worked on it, which is understandable.

Now the Java project was really interesting, it was made in 3 days(and in that week, a day camp), it was a 3d mini version of Minecraft, with a freaking PIG!

Pic:

Features of da pig:

finds a new destination, randomly.
Aligns properly to the ground
Avoids the trees

And some other minor stuff…

This was all entirely made in OpenGL, but now I’m porting it to Directx and c++ because that’s where my real experience is! The reason why my java project was much better is because i had no clue what to make from the start of the camp.

If any of you instructors are reading this, thank you so much, thank you for everything!

If you want to know anything, please comment me.

Best Regards

Miguel Petersen