megatron-uk wrote on 2025-02-15, 23:41:
It's also one of the very few APIs that can take advantage of accelerated drawing in DOS via VBE/AF functions. Depending on the functions exposed by your VBE/AF driver it can do transparent masked blits in hardware, video to video blits, hardware fills, etc.
Of course very few cards ever got a vbe/af driver so it's use is somewhat limited... but it *does* work.
I believe that if I understood how C works I could benefit from books that cover VBE. I found out, from wikipedia, vbe dates back to the early 90s. I have a book by Michael Abrash from 1995 Zen of Graphics Programming but VESA isn't even mentioned in the index under the letter "V". Maybe VBE is in Abrash's Graphics Programming Black Book. But regardless I am on the verge of understanding C, just not there yet. I've been held back for quite sometime because I only know the keywords of C. Not how it works under the hood.
This is where I am at with Allegro: I now know that Allegro is multi-platform and this makes the code more confusing for a novice. More importantly it means that somewhere else, I don't where or how, perhaps indirectly, Allegro accesses DirectX 7. But it also uses OpenGL and since it is multi-platform I could be using it on Linux or FreeBSD. What I am realizing, thanks to help from this forum, is that from the Windows Operating System and DirectX 7 one is locked into using C++. It is because C++ is what is used by developers for Windows Software. To understand DirectX you have to study COM. I searched through many books on COM and all require proficiency in C++. Most books on DirectX require C++. But if I were to go with Linux or FreeBSD and OpenGL I might be able to escape C++. It seems possible. OpenGL doesn't use a multifaceted interface like DirectX does. DirectX needs a lot of different interactions with the Windows OS. OpenGL is a standard that video card manufacturers adhere to and it works primarily with the video hardware itself.