Afterwarp Framework v2.0.1, dated December 10, 2021 Copyright (c) 2015 - 2021 Yuriy Kotsarenko http://afterwarp.io ------------------------------------------------------------------------------------------------------------- The following changes have been incorporated since version v2.0 dated April 12, 2021: - Normal Mapping (also known as Bump-Mapping) and Parallax Mapping features have been added. Added ParallaxMapping sample for C/C++ and Pascal bindings. - Rewritten Timer module, which now works in two different modes simultaneously, by providing tokens for fixed-rate processing (as in previous Timer module, just need to loop through extracted tokens manually and execute fixed-rate processing code) and time-sliced processing, to ensure specific frame rate. - Added Invert function to Surface module. - Further refactoring to get rid of remaining STL containers and dependencies, relying more on internal RTL with stronger focus on industrial environments that require high reliability. The framework is now free of STL dependencies and can be compiled without exceptions. SEH exceptions are still used for Windows builds for OpenGL DLL lazy loading. - Added support for Tessellation shaders under both Direct3D and OpenGL backends. - Added additional "baseInstance" parameter for instanced rendering calls in Program module. - Refactoring to use a different internal storage for Direct3D shader binaries, which allows faster deployment, which slightly decreased final binary size. At this time, Direct3D shaders occupy 16.88 MiB of space inside Afterwarp.DLL, which constitutes 91% of total library size. - Fixed object selection, object visibility tests, light culling and camera zoom when using right-handed perspective matrix. - Fixed ambient occlusion when using right-handed view and projection matrices. - Fixed V texture coordinate during OBJ file loading. - Added workaround for OpenGL backend when running inside VMWare 16.2.0 on Linux host and Windows 10 client. - Added workaround for OpenGL backend when running inside VMWare Linux client. - Fixed issues with Ctrl, Alt and AltGr keys on Windows under certain circumstances. - Added frustum volume geometry primitive generation for its visualization. - Refactoring of internal XML implementation to get rid of STL dependency. Minor fixes in Voxelize tool. - Improved Ambient Occlusion to use less shader instructions, thus improving slightly the performance. - Fixed issues with double click in GTK-based applications. - Improved management for large near/far planes when calculating frustum for object visibility tests.