I don't really feel like explaining most of that stuff but I'd try hf for some more in-dept tutorials . But to make a transparent Rect is very easy in minecraft. Just do drawRect // drawRect is a gl11 function already in minecraft Gui class typing it will call it, the rest describes its size and so forth.
so as an example drawRect(10,11,21,20,0x90ffffff);
drawRect(start x cord, start y cord, end x cord, end y cord, color code); semicolon because . . . Let's just say if you have to ask you shouldn't know.
As far as the color code for rect is concerned ffffff is the color code and 90 is it opacity "ff" is solid or 100% opaque 90 is 90% opaque 10% transparent. If you need any other help with this or if you are really stuck with other coding issues feel free to pm me.