You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.
Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.
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
* 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
* 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
* 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
dx11 set window style dx11 build window style(isVisible, hasTitlebar, hasBorders, hasResizeableBorders, hasTitleBarButtons, hasMaximizeButton, hasMinimizeButton)
Login to post a reply