Thanks for the unlocking BatVink!
So it has been a long while and little news on this project.
I realize that the scope for version 0.5 probably turned out to be a bit of a far stretch; it is yet a while off but significant progress has at least been made on the lighting and common shader library functionality.
However, the last quarter of 2015 has also seen lots of unrelated additions, improvements and bugfixes to the engine, many of them stemming from e-mail correspondence with Shawn Bower who has been kind enough to give plenty of suggestions and tested the plugin for hitherto undiscovered bugs. Since all these changes are improvements on their own over the previous version 0.4.5 release while not dependent on the as-of-yet incomplete lighting system, it only seems appropriate to release this to the general public. And the fact that the old version timed out by the turn of the year further attests to this so...
Download version 0.4.7.5 of the plugin from the opening post or here.
High-speed download link (external site)
Main new features

Supports DirectDraw Surface textures (.dds files) for both loading and saving.
These files correspond to the memory layout used for images internally by DirectX and as such are faster to load than to import and interpret other image formats like PNG, BMP, etc. You can import such images and then save them out as DDS textures for faster loading in the future; DDS textures also contain the specific pixel format of the image as well as any mip maps.

Supports multi-pass shaders.
This is achieved by being able to set multiple shader techniques on a single object / limb that will execute in sequence and can blend (using various blend modes per stage) with what was drawn in the previous pass.
There is a new, very simple example project included with the archive that demonstrates the basics of this.

Supports texture arrays.
Texture arrays are, like the name implies, a collection of textures. The main selling point here is that a single array only occupies a single shader registry slot, thus potentially allowing you to bind up to 16 texture arrays, which in turn can hold up to 2048 unique textures each, to a single object / limb.
Of course you would probably run out of VRAM before reaching those numbers but there shouldn't need to be any problems with not enough texture slots anymore

Also it is a nice, hardware supported replacements for the texture atlases of eld - no more weird edge clampings and special wrapping cases since each sub-texture in an array is indeed a texture in its own right that can be wrapped, clamped, and so forth just as a normal, single texture can be.
The limitation on texture arrays is that the format, dimensions and number of mip maps (if any) must be the same for all textures in the same array. Most of the time this shouldn't pose a problem, and if you would happen to need it you can always bind multiple arrays, such as one for diffuse maps with one format, another for normal maps with another format and maybe a third for specular maps with a smaller resolution.

Supports cube maps.
There is also support for arrays of cube maps, which function like the array textures described above, only that each cube map then occupies six elements in the array. Unlike texture arrays, cube map arrays require a feature level of at least DXVERSION_10_1, ie. they won't work with DXVERSION_10_0.

Supports free-flight transformations to better correspond to standard DBPro, such as DX11 MOVE OBJECT UP, DX11 ROLL OBJECT RIGHT, etc. Of course the old euler-angles and exact positioning is also still available.

Supports attaching objects/limbs/cameras to one another to make for relative transform hierarchies ("glueing" using DBPro naming). This is done using functions like DX11 GLUE OBJECT TO CAMERA, DX11 GLUE CAMERA TO LIMB and so forth. The hierarchies can be arbitrarily complex and culling etc. will take this into account. Naturally, "unglueing" is also available.

Supports pivot fixing for objects, limbs and cameras.
Position, rotation and scaling can all (or just a combination of them) be fixed as the "default" of the entity.

Supports changing the display mode at runtime.
Doing this will not require any media to be reloaded unlike the case is with standard DBPro.
Alt-tabbing from fullscreen mode will also work as expected now (the application becomes temporarily windowed until this window is activated again, ie. by clicking in it or alt-tabbing again) as opposed to in earlier releases.
Available display modes can also be retrieved in order to allow a user to choose one or select the highest one available etc.

Supports changing the render window at runtime as well.
This allows changing the window size, position on screen, the client size (ie. the actual drawing area without the borders), the caption of the window and its
style.
There is also a helper function for building a limited set of common window styles from a set of boolean flags, namely DX11 BUILD WINDOW STYLE. This makes it easy to create styles that for example hide / show the window, removes its borders, sets whether it can be resized, which buttons to show at the top of the window and so on.
There are also functions for retrieving the current screen size as well as the desktop width / height.

2D can now be drawn to any camera instead of just the main (screen) one.

Images can now be locked for direct pixel buffer access.
This is faster than using the pixelmap conversions, but you'll have to deal with raw memory that corresponds to whatever format (which may be a compressed one as well) the image is using.
Supports locking individual textures in a texture array as well as locking a certain mip level. See the included documentation for further details.

Supports buffered, interpreted textual input.
This works rather like DBPro's ENTRY$ function, but with some improvements. You can chose when to start / stop capturing textual input (standard DBPro's entry buffer just grows and grows even when unused unless you call CLEAR ENTRY BUFFER) and you can also set what will happen when certain keys are pressed, for example allowing the input to cancel when the return key is pressed, or only accept numeric input characters etc. Of course the textual input is asynchronous and can be run simultaneously with your other code, ie. it won't block everything like the INPUT command does.
There is also functionality for moving the cursor in the input, both across columns and rows for multi-line input.

Supports looking for files in additional paths than the one from where your executable is run.
You can specify any number of additional folders to look for files in if they aren't found in the main one.

Can now load media files that are included with the executable using the DBPro editors.

Loaded / created meshes can now have per-vertex tangent and binormal data either imported, assuming they're present in the loaded file, or generated from existing UV and normal data.
Set the correponding semantics TANGENT and BINORMAL in the vertex layout used to load / create a mesh / object to facilitate this.

Improved error reporting system that will tell you the function name as well as the source file and line number where an error occurred
*.
Fixed issues
This is just a selection of the most severe ones, see the complete changelog for further details.
Various string table entry discrepancies (causing functions to not have their intended name or to not allow all parameters that they should) have also been fixed, as well as some incorrections in the help files as well as updates to these to correspond to the current state of affairs.

Fixed an oversight in the bounding box calculation that caused them to be incorrect.
This was especially noticeable for rotated objects which would not seldom get culled (and thus clipped) while still being within the view of the camera rendering them.

Clicking in or outside the render window while it is loading no longer causes the DX11 QUIT function to erroneously return true right away at the start.

Fixed a bug where setting the same state of a sprite two times in succession would overwrite a flag stating that the sprite needed to be updated with the value
false (because it already had the previous state) without taking into account the fact that a previous sprite operation could require it to be updated still. This would for example sometimes cause sprites and text to appear blurry or in the wrong position.

Providing a string that only contained special control sequences, such as "[c=0xaarrggbb]" for colouring text, to DX11 DRAW TEXT, DX11 SET LABEL TEXT or DX11 PRINT TO PIXELMAP would cause a crash. This has now been fixed and an empty string is "displayed" (or rather
not displayed) instead.

Fixed a bug where DX11 FRUSTUM CULL BB accidentally returned
true instead of
false if the bounding box did indeed
pass the culling rather than fail it.
Also fixed the return type of this function; it would previously only work when assigned to variables explicitly declared as
as boolean or
as byte.

Fixed a bug where DX11 CREATE OBJECT SPHERE would fail unless its vertex layout contained an element with the TANGENT0 semantic.

Fixed a bug where orthographic cameras would not have their data properly initialized and as such could render incorrectly unless you would manually reset all of their data.

Fixed a bug where DX11 MOVE OBJECT / LIMB / CAMERA would not always use the latest rotation before carrying out the movement.

Fixed a bug where vertex data colours were accidentally stored as four floats instead of a DWORD.
This could cause issues where the erroneous colour data would overwrite any subsequent data (such as for example vertex normals) if the colour data was written after the following data.

Fixed a bug where DX11 CREATE OBJECT SPHERE and DX11 CREATE OBJECT CYLINDER generated some inverse normals.
Changes
I generally tend to try to keep compatibility with previous releases so far as code that worked with a previous version of the plugin should also work with a latter.
There have been some changes required to function names to better reflect what they actually do, as well as some that were found to be faulty (ie. the documentation listed their intended name but due to oversights they had a different name to actually use them from DBPro).
There were some example projects that needed minor changes to compile with these changes and as such you will find updated versions of those in the archive under the "Projects/DX11 Examples" folder.
There have also been some additions made to the DX11Constants.dba file, which also appears in the "Projects/DX11 Examples" folder, so I suggest that you use this version from now on instead of any older version.
The most important changes in this release are these:

DX11 SET CAMERA RENDER TARGET has been renamed to DX11 SET NEW CAMERA RENDER TARGET.
This was done since render targets can now be created without immediately associating them with a camera using the new DX11 CREATE RENDER TARGET function, so DX11 SET CAMERA RENDER TARGET is now used to set a pre-existing render target instead of creating a new one, as DX11 SET NEW CAMERA RENDER TARGET does.

The mouse cursor will no longer be automatically moved to the upper left corner of the render window when calling DX11 INIT.
You can still position the cursor where-ever you want using the DX11 SET MOUSE POSITION function, should you want to.

The number of available sampler states have been reduced from 16 to 12.
This was done to reserve certain sampler states for use with the lighting system. It is possible that some more can be freed back up for custom usage in the future but for now four are reserved for use by the engine itself. 12 should still be more than enough so no worries there.

The default orientation of objects created using DX11 CREATE OBJECT QUAD has been changed so that these will now face positive instead of negative Z.
You can still flip them around to achieve the previous orientation with a flag to DX11 CREATE OBJECT QUAD. In this way, the functionality now corresponds to that of CREATE OBJECT PLANE from standard DBPro.

The documentation has been updated to use the correct name DX11 GET IDENTITY MATRIX, which was previously wrongly listed as DX11 GET MATRIX IDENTITY. DX11 GET IDENTITY MATRIX has always been the callable name of the function.
Compiler patching and precompilation
The plugin now contains more commands and functions than the DBPro compiler recognizes (there are currently 1078 exported functions but the compiler only checks the first 1000).
In order to work around this I have included a modified MD5.dll file with the latest release. This is intended to go in your DBPro/Compiler folder and overwrite the MD5.dll file already present there (you may want to back it up first though!).
The effect of the dll mod is that it will get loaded by the compiler at runtime, at which point it is able to hotpatch the compiler's code. The idea was that this would probably be considered more legal than to patch the physical compiler executable on disk. The modded MD5.dll has been testes and found to work with the compilers from DBPro version 1.0.7.6 and U77. Hopefully it could also work with earlier releases (it uses pattern scanning to detect the value to patch) but I cannot vouch for this.
Now since the DBPro compiler has recently became open source, I plan on just providing my own rebuild of this in future versions instead. Unfortunately the rebuilt compiler won't work with the old 7.6 / 7.7 dll's though so I may have to bundle it all together. In that case there are some issues since the open source'd DBPro source does have quite a few differences from the old, well-known one, for the purpose of GameGuru development. I will look into what options are available here in the future, but for now the MD5 mod will work with the compilers included with DBP 1.0.7.6 as well as the RC for 7.7.
Besides patching the limit to allow DBPro to access more than a thousand functions from the dll my MD5 mod also does some precompilation on the source. This is used to allow the reporting of source files and line numbers by automatically appending this information to all function calls to the DX11 Plugin.
In other words, besides not being able to use the last ~80 functions exported by the plugin, you also wouldn't get any error line reporting if you don't use my modified MD5.dll library.
Just to clarify, there is nothing special that needs to be done to accomplish this; merely copy all the files from the attached archive to your DBPro installation folder and overwrite any conflicts.
Regarding the annoying splash screen...
If you have used any of the latter releases of this plugin you will know that it displays a splash screen for ~5 seconds before starting up. Every single time.
I realize that this gets annoying, especially when doing some minor edits and recompiling only to have to sit through it again. As such, starting with the current version (0.4.7.5) the splash screen will only appear if the executable haven't been run in the last 30 minutes. Hopefully this should reduce the frustration at it while still keeping it there as an identifier.
That should be the major points of interest for now. Further details can be found in the patch notes below (note that no build listed there since version 0.4.5.0 has been publicly released until now).
Work on the default lighting system, common shader libraries and the engine as a whole is ongoing (as well as plans for audio, physics and gamepad support in the future).
Thank you for reading and your continued interest
Changelog
Build 0.4.5.1 2015-09-03
* Fixed a bug where cylinder meshes (such as created using the DX11 CREATE OBJECT CYLINDER function) had a counter-clockwise face winding order
and as such appeared to be in-facing.
* Imported as well as engine-constructed meshes can now either import per-vertex tangents and binormals, or have these be generated from
existing normal and uv data.
* Fixed a bug where vertex colours would be written to the vertex buffer as four float instead of four byte values when imported from
external object files, thus potentially overwriting any subsequent 12 bytes of per-vertex data if these had a higher priority such that
they were imported before the colour (ie. normal data).
* Fixed a bug where the meshes created by DX11 CREATE OBJECT SPHERE accidentally had their top and bottom normals reversed.
* Changed the built-in quad (plane) creation routine so that these will have a proper orientation (facing the positive instead of negative Z axis).
Objects created using DX1 CREATE OBJECT QUAD will be rotated 180° around its Y axis by default to account for this.
This solves the issue where using DX11 SET OBJECT LOOKAT for an internally generated quad caused its back face (as opposed to front face) to face the
given position.
* Fixed an oversight where the documentation and keyword file was stating the function name DX11 GET MATRIX IDENTITY instead of DX11 GET IDENTITY MATRIX,
which is the actual callable function.
* Moved the DX11 GET VIEW MATRIX and DX11 GET PROJECTION MATRIX functions from the math documentation list to the camera documentation list.
* Removed the DX11 GET WORLD MATRIX and replaced it with separate DX11 GET OBJECT WORLD MATRIX and DX11 GET LIMB WORLD MATRIX, in order to allow better
user control.
* Added the DX11 SET BOOLEAN PARAMETER / DX11 SET INTEGER PARAMETER / DX11 SET FLOAT PARAMETER functions.
These are intended for future use to allow setting further parameters without having to provide them all to the DX11 INIT function.
* Fixed a string table typo making the 3-parameter version of DX11 DRAW IMAGE not being callable from DBPro.
Build 0.4.5.2 2015-09-04
* Fixed an oversight where there was no automatic generation of mip maps for DDS textures when setting the generateMipMaps flag.
Build 0.4.5.3 2015-09-05
* Rewrote the mip map auto generation functionality for DDS texture loading; it should now work with arbitrary formats, including compressed ones.
* DDS textures now support import-time conversion to the standard BGRA32 (0xaarrggbb) pixel format if requested via the fourth parameter to DX11 LOAD IMAGE.
* Added the DX11 SAVE TEXTURE function.
This saves a previously imported texture (image) including mip maps and specific pixel formats. It is faster to load a precomputed texture saved using this
function than it is to import it from a 2D image format (BMP, PNG, JPG, etc.) each time you run your program / game.
Build 0.4.5.4 2015-09-09
* Added support for multi-pass shaders. The DX11 SET OBJECT SHADER TECHNIQUE and DX11 SET LIMB SHADER TECHNIQUE functions now take an optional third
argument for setting the pass that the technique is to be used for.
* Also added a new, very simple example project demonstrating the basics of multi-pass shading.
Build 0.4.6.0 2015-09-11
* Added support for free-flight transformations.
* Forward, up and right vectors can now be obtained for objects, limbs and cameras to afford space and orientation calculations using those.
* Fixed a bug where DX11 MOVE OBJECT / LIMB / CAMERA would not always update to use the latest rotation before moving.
* Fixed a bug introduced in build 0.4.5.4 where primitive objects created using the DX11 CREATE OBJECT XXX functions would not have the default shader
technique set on creation.
Build 0.4.6.1 2015-09-14
* Added support for drawing 2D to any camera complete with individual sprite masking (previously 2D operations were restricted to only
the main (screen) camera).
* Fixed a string table oversight where DX11 SET CAMERA ASPECT RATIO was previously accidentally called DX11 SET CAMERA ASPECT, while the documentation still
added the RATIO word, prompting confusion at compilation time from DBPro.
* Fixed a bug where orthographic cameras would not have their transform data properly initialized, thus potentially causing incorrect rendering results
unless the transform had all its components manually set from DBPro after creating such a camera.
* Added pivot fixing functionality for objects, limbs and cameras.
* Fixed a bug where DX11 CREATE OBJECT SPHERE would fail if it wasn't created from a vertex layout containing a TANGENT0 semantic element.
Build 0.4.6.1 MA 2015-09-17
* Begun looking into possibilities of compile-time source and compiler live patching.
Build 0.4.6.1 MA 2015-09-21
* Implemented a means of live patching the DBPro compiler upon execution, as well as performing compile-time "precompilation" on the DBPro source.
This facilitates the introduction of line number reporting upon errors arising within the plugin.
It also eliminates the arbitrary limit of the DBPCompiler only allowing linking to the first 1000 functions within a single dll, which the DX11 plugin is
going to go beyond shortly.
Beware that further testing is required to ascertain the feasability of this approach.
Build 0.4.6.2 MA 2015-09-23
* Fixed a bug where DX11 FRUSTUM CULL BB was accidentally returning true if the bounding box in question did PASS culling.
* Also fixed return type of DX11 FRUSTUM CULL BB to a full integer; it would previously only work if assigned to variables explicitly declared "as boolean".
* Fixed a documentation bug where DX11 ENABLE ESCAPEKEY was accidentally listed as DX11 ENABLE ESCAPE KEY.
* Added DX11 GET CAMERA VIEWPORT WIDTH / HEIGHT functions.
* Added convenience DX11 GET SCREEN WIDTH / HEIGHT functions.
Build 0.4.6.3 MA 2015-10-24
* Fixed a bug where a per-mesh buffer table allocation was accidentally several times too large. Should reduce memory usage by 224 bytes per mesh.
* Fixed a bug where absolute include file names failed to be resolved during precompilation.
* Fixed a bug where attempting to generate mip maps for an uncompressed DDS texture would fail with an error message saying the texture could not be loaded.
* Fixed an issue where setting the same state of a sprite would overwrite a flag stating that the sprite needs to be updated even if the cause of
this requested update was a different state. This was the cause of the visual artifacts with drawn text suddenly jumping horizontally or appearing blurred
sometimes when the printed text would change from one string to another.
* Added functionality for attaching 3D entities (camera, objects and limbs) to each others' transforms ("GLUE XXX TO YYY"-style behaviour).
Build 0.4.6.4 MA 2015-10-29
* Fixed a string table bug where DX11 PRINT TO PIXELMAP was accidentally called DX11 PRINT TEXT TO PIXELMAP instead.
* Found a potential bug with DX11 SAVE IMAGE where it doesn't seem to align rows/columns properly; LOOK INTO THIS!
* TODO: texture coordinates seem to be mirrored compared to in DBPro for the primitive boxes (and thus cubes too) and possibly quads. Maybe others too? Check!
* Added missing functions DX11 GET CAMERA FOV, DX11 GET CAMERA ASPECT, DX11 GET CAMERA NEAR RANGE and DX11 GET CAMERA FAR RANGE.
* Fixed a bug with the DX11 GET MATRIX ELEMENT function where this would check the range and thus potentially return zeroes for valid row/column indices
while also having the possibility to try to index into non-existing rows/columns, thus causing an invalid access operation.
* Fixed the documentation for various DX11 BUILD ??? MATRIX functions which accidentally didn't list that these functions return the created matrix.
* Added functions DX11 BUILD ROTATION MATRIX X, DX11 BUILD ROTATION MATRIX Y and DX11 BUILD ROTATION MATRIX Z.
* Changed the transform class to compute rotation matrices in a different way. This (hopefully) alleviates an issue where there would be
rotational discrepancies when combining euler and free-flight rotations for the same object/limb/camera.
* Changed the decomposition method from rotation matrix to euler angles (for correct reporting by DX11 GET OBJECT ROTATION X/Y/Z while using free-flight
rotations) to a more efficient one. The resulting angles are identical to those computed with the previous approach.
* Changed the way view matrices are built for cameras. This should hopefully lessen accumulative floating point errors when using free-flight rotations.
* Fixed a bug with the sector object grouping system where objects could potentially be "left behind" if they moved into a new sector by such a large
difference from its previous positioning that it would no longer be in a shared sub-sector, thus making the object stuck in its old sector, to which
its new position wouldn't even belong.
Build 0.4.6.5 MA 2015-11-02
* Fixed a bug where glued objects/limbs/cameras did not have their world sectors properly updated if only a parent object was moved,
but not the child object itself, which could thus lead to erroneous early clipping of objects and limbs.
* Fixed an issue where box objects had an "incorrect" texture coordinate orientation. The uv coordinates for primitive cubes and boxes now
match those created by the standard DBPro library.
* Added an optional parameter for the DX11 CREATE OBJECT QUAD function to allow orienting it so that it faces in the negative Z-direction
("towards the screen") instead of facing the positive Z-direction ("away from the screen") as all other objects do by default.
In order to maintain backwards compatibility the default behaviour is that quads created using this function still face the in positive Z-direction.
* Added DX11 GET OBJECT SECTOR X/Y/Z and DX11 GET WORLD SECTOR X/Y/Z functions.
Build 0.4.7.0 MA 2015-11-08
* Added functionality for changing screen resolution / fullscreen state at runtime (DX11 SET DISPLAY MODE). Unlike it's DBPro counterpart, all data
loaded into VRAM at the point of calling this function will be retained, ie. there is no need to manually reload all objects, textures, etc.
* Available display modes supported by the current system can also be retrieved.
* When alt+tabbing, or otherwise forcefully changing focus from a fullscreen exclusive window, the render window will be automatically windowed to allow this.
When switching back to the window, ie. by clicking in it, alt+tabbing to it, or minimizing the window(s) that are on top of it, it will now switch back
to fullscreen mode.
* Added the Display category to the documentation, complete with some new basic functions (window moving, caption changing, etc.).
* Added text input functionality.
* Added manual camera viewport control.
* Fixed a bug where attempting to draw text would sometimes cause a crash if the text only contained control characters and nothing actually visible.
* Fixed various discovered errors in the documentation.
Build 0.4.7.1 MA 2015-11-30
* Fixed a bounding box transformation oversight that would sometimes result in incorrect bounds being used for objects, thus for example causing them to
be culled when not actually being out of view of the rendering camera.
* Fixed a bug which caused render target setting to fail when using a Texture2DArray as the render target resource to bind.
Note that Texture2DArrays weren't available in previous official demo builds anyway so this issue should never have occurred.
* Added support for specifying a set of optional paths that will be searched if a file to be loaded cannot be found in the current working directory.
-> Along with this, loading of media included with DBPro executables is also facilitated.
-> New functions: DX11 REGISTER FILE PATH, DX11 UNREGISTER FILE PATH and DX11 RESET FILE PATHS.
Build 0.4.7.5 2016-01-04
* Support for creating and using texture arrays, cubemaps and cubemap arrays has been implemented.
* Limbs will now have their bounding boxes recalculated to take changes to their associated meshes' vertex data into account.
* The old DX11 SET CAMERA RENDER TARGET function has been renamed to DX11 SET NEW CAMERA RENDER TARGET, since it creates a new render target.
It is now possible to create standalone render targets using DX11 CREATE RENDER TARGET and then set them to cameras using the (new) DX11 SET CAMERA RENDER TARGET
function.
* Finally fixed the input initialization bug that caused the escapekey to be recorded at startup and thus trigger an immediate close of the program unless
the escapekey was disabled for this purpose. This would happen if another window took focus or if the render window was clicked in before it was fully loaded.
* The DX11 IS MOUSE BUTTON XXX / DX11 IS KEY XXX functions have been changed to return signed integers instead of unsigned booleans. This means that you can
now write shorthands like DX11 MOVE CAMERA cam, (DX11 IS MOUSE BUTTON DOWN(0) - DX11 IS MOUSE BUTTON DOWN(1)) * speed# with it working properly.
Previously the resulting "-1" if only the right mouse button was pressed would be interpreted as an unsigned value and wrap around to ~4.3 billions instead.
* Added the available D3D11_COMPARISON_XXX constants to DX11Constants.dba.
* The mouse cursor will no longer be automatically positioned in the upper left corner of the rendering window upon initialization.
If you want this behaviour (or to otherwise set the starting position for the mouse cursor) you can use the DX11 SET MOUSE POSITION function.
* Four sampler slots have been reserved for the lighting system. As such only 12 are available for user shader techniques as of now. This number may increase
up to 14 in the future. 12 samplers should still be more than enough as most different textures will be sampled in the same way (ie. using the same sampler
state) anyway.
