Hey guys (and gals), first time poster. Rather than bore people by telling "a little bit about me" I thought I'd just skip that and leave it as a simple howdy
I'll give a little info on my project though as that's probably slightly more interesting
Most of this isn't needed for the question, so if you don't feel like reading you can just skip to the bottom, I only included this stuff because I thought it was interesting then a long schpiel about myself lol.
Some info on my project:
I'm currently writing a graphics engine. I moved from TrueVision3D which to me, seemed more like a wrapper class than an actual engine as you still had to code your own engine. Engines tend to have more of the finer things in it, albeit making them a bit more restrictive; such as automated integration amongst the object types (Models <-> textures <-> materials, etc). You had to instance each of those and write code to link them all together, (Basically writing manager classes). Anyhow I worked and worked at trying to get shadowmapping involved, and determined certain TV calls where compressing some D3D calls into a single call. No matter what I tried I just couldn't get shadowmapping to work with trying different orders of calls. Don't get me wrong TV3D was a seriously awesome product, it did most of everything I needed it to do. Anyhow that's when I decided to go my own route.
I based my renderer design on how Epic did Unreal with a dropdown box (probably) of std::string type. I had a problem with that though, because you can't ordinarily instance a class at runtime via a user-entered text string because that's runtime which doesn't work so well during compile time. Even Template classes are still compile time. So I needed a way to link (No pun intended) between compile and runtime. Using some creative methods I found on the net, I got that working (Using an abstract function-pointer factory class with an std::map to the renderer's Instance() with, more or less, each class employing a Meyer's singleton pattern which I may take out in the future if I find I need to, to make swapchains work for both renderers (As OpenGL might need multiple devices to emulate it, I dunno. Haven't really looked into that yet)). Rewritting most of my matrix code to be graphics-api independent, my project now supports both Direct3D and OpenGL and can be set by the user via text during runtime, and can now be considered truely cross-platform. The renderer design has the added benefit of some other ambitious developer writting their own graphics driver and inherit from the base render device should they need to. Anyhow, my project displays exported models (Using an export plugin I wrote for studio max) but right now they're untextured. I wanted to stay as far away from D3DX library as much as possible. I'm at the part where I'm writting texture routines to manually load into DirectX. I've started preliminary work on reading in TGA files.
Anyhow, to the question. I found in theory, TGA files to be relatively easy to work with. I had actually started writing my own, and thought it was extremely simply yet compatible. I got to the Color Map Data field, and the info from the pdf I have from the creators of the TGA format left me kinda scratching my head. That's when I began to dig further on the internet, that's when I stumbled across a wiki article on this site that has a full TGA image loader written by Codehead which was intense to say the least. Now I'm wondering how correct my own code is. But that aside, I like his design having it all within a class like that. Currently I have a typedef struct and a function that returns a type of that typedef struct. His is probably a little more featureful than I need but it lends itself to being used elsewhere in my code. Right now I just need something to load in data into a buffer to be sent for texture locking to return back a texture. But heck he's got it all wrapped up nicely in a nice little class.
I appologize if this has been answered. I suspect if it has, it's not one that comes up often because I tried doing searches on the forums, read the forum rules (Which talked mostly about vulgarity, harassment and other bahavior), spent some time manually looking for info, but nothing seems to answer the question. What's the licensing on the wiki articles. Obviously I know contribution is encouraged. My question is more about usage though. What's the stipulations to using the code in my project, is any code posted to the wiki deemed free for commercial use or only if credit is given or is there some other stipulation? Thanks in advance!