Releases: mogemimi/pomdog
Releases · mogemimi/pomdog
Pomdog v0.1.8
Changelog
New features:
- Add glTF binary loader [f078261][171f600]
- Add CreateFromPoints() into BoundingSphere class [575ab83]
API changes:
- Add DepthStencilBuffer class [ea7d864] [a2d5ce2] [3b0d86c]
- Add SetIndexBuffer() to GraphicsCommandList [58371f3]
- Unify DepthFormat and SurfaceFormat [858fa09][a70dce0][f6e7f7c]
- Replace shared_ptr with unique_ptr [c622d29][1c50d81][c733c9d][7abd7de][0f8be09]
- Redesign FileSystem [07eddc9]
- Rename default branch from master to main.
- Use GitHub Actions instead of Travis CI, AppVeyor and Wercker CI.
- Enable
-Wall
,-Wextra
and-Weverything
partially - Replace _tWinMain with WinMain [0ca395a]
Fixes:
Pomdog v0.1.7
Changelog
New features:
- Add dark mode title bar support for Windows 10 [b778796]
- Add
POMDOG_PLATFORM_EMSCRIPTEN
macro [434e2a2] - Add tool to create an archive of files inclusive of submodules [508010c]
API changes:
- Update minimum required macOS version to 10.14 [006f2eb] [db0e1e7] [b7ba355] [d0cea82]
- Update Travis to Xcode 11.3 [daac8cf]
- Remove obsolate hand-made Xcode projects [5c04f7d]
- Refactor CMake files [d7ee44b] [28aa3b5] [3c98800] [0a267a0]
- Move cmake files to cmake directory [ffbf1e2]
- Pass
std::string_view
by value instead of const reference [15b3d00] - Tighten the type constraints on ConstantBuffer API [da40b97]
- Remove obsolete
EffectBinaryParameter
[d603327] - Remove
Any
in favour ofstd::any
[6d11cd2] [743f8c7] - Rename
MasterVolume
toMainVolume
[307204d] - Build latest MbedTLS without Mbed Crypto. [39e2ec4] [55c6108]
- Separate stb code from engine libraries [b7e1ac3]
Fixes:
- Warn when platform is undefined or not supported [817799e]
- Use
is_trivially_copyable
andis_standard_layout
instead of deprecatedstd::is_pod
in C++20 [daa4917] - Add inline keywords [2493f41]
- Fix a bug about sampler's MinMipLevel in GL4 [5fdcf1e]
- Update submodules to latest version. [f2d1e86] [7f47b8a] [51dd354]
- ... and minor fixes
Pomdog v0.1.6
Changelog
New features:
- Add new Network libraries
- Graphics:
- Add TextureAddressMode::Border [344b992]
- SpriteBatch allows RenderTarget2D as a texture [f6f5f43]
- Add support to create Metal shader from precompiled data [6c00b99]
- Add support for getting texture pixel data from render target [62ccd80]
- Support RG, RGB and alpha-only surface formats in SpriteBatch for SpriteFont [e02438c]
- Add built-in BasicEffect [c116637]
- Add support for SetScissorRect() command [3eb95ee]
- Math:
- Asset File Format:
- Add Delegate class as a lightweight signal/slot implementation [b755376]
- Add error utility for avoinding exceptions [c5e5040] [b66c90f]
- Add SpinLock class [575409b]
- Add StringHelper::ReplaceAll() function [0228265]
- Add ToSlash() and IsAbsolute() functions in PathHelper [1531c82]
- Add support for text input and mouse wheel scroll on X11 [e5a55bc] [d1c1ea8]
- Add new GUI module for in-game editor [4c64f9c]
- Add TextField support [389e6ad]
API changes:
- Improve error handling in AssetLoader [8f5200b] [985692d] [3b230ec]
- Rename Signal's function [ed5cf00]
- Add nodiscard attributes [2f4b543] [febab86] [253604c] [c908bf0] [8842dca] [38c2723] [154bdf9] [5f7867a]
- Remove support for Visual Studio 2017 [56fed79]
- Change parameter type of 'SetBlendFactor' [3e05d84]
- Move Reactive library to experimental directory [ab46ac0]
- Remove PathHelper::OpenStream() and BinaryReader::ReadString() functions [108290a] [a06a937]
- Move experimental libraries to new
include/Pomdog/experimental
directory [a029985] [9401bdc] [dcdc2c5] [8919630] [0639c46] - Remove RasterizerDescription::ScissorTestEnable [139ac27]
- Redesign entity-component system [8e3ff47]
- Upgrade Direct3D 11.3 and use deferred context [5dbd3f1]
- Improve SetConstantBuffer function to specify offset and size when binding a constant buffer [bed8dfa]
- Merge PrimitiveTopology into PipelineState [4fc55c5]
Fixes:
- Run the game loop on the main thread for OpenGL + macOS [2ad73d6]
- Fix runtime error when using depth buffer without stencil on Metal [794b765]
- Metal's screen space is a left-handed [3683997]
- Avoid to freeze renderer when window un-minimized [c1e1e59]
- Add documentation [c7052d9] [a2606aa]
- Add documentation comments [3ba1ddf] [6547456] [ec54d35] [5a72bd4] [f7eb338] [d2d3069] [b0a3f08] [bfee664] [c95dedb] [6d4b8ea]
- Fix a bug in index-buffer offset calculation for Metal [92742f1]
- Return an unchanged vector if the vector is too small when normalizing [52c757e]
- Fix DXT/DDS texture bug for OpenGL [39493f0]
- Fix DXT/DDS texture bugs for Metal and Direct3D [2ea07c9]
- Fix bug when loading R8, BC1 or NPOT (non power of two) textures on Direct3D 11 [664a610]
- Fix bug with rendering on Direct3D 11 [93b708d]
- Fix OpenGL bug, clearing a depth buffer doesn't work after setting glDepthMask to false [74a6201]
- Fix sorting of audio devices with compare function [192afbe]
- ... and minor fixes
Pomdog v0.1.5
Changelog
New features:
- Add new feature-showcase project for testing features [03dbe2c]
- Add the documentation for Application #26
- Add missing application features for window system
- Add support for disabling resizing of X11 window [0fb3a35]
- Add support for changing/hiding mouse cursor in X11 [d117fea]
- Add mouse position tracking in MTKView [1b770bf]
- Convert mouse position from cartesian to screen coodinate system for Cocoa [d8bc820]
- Fix tracking area when resizing window in Cocoa [b251874]
- Add input text support for Win32 [5f8059c]
- Replace testing framework with Catch2 [8239121] [c8c3002] [3cfab8e]
API changes:
- Switch between OpenGL and Metal programmatically [75d38d3]
- Select graphics backend when bootstrapping cocoa app [aa113cd]
- Redesign SpriteBatch class and fix some bugs [bde1d53]
- Move MagicaVoxel library into a new experimental directory [fcef973]
- Move Tween library into a new experimental directory [f68e14f]
- Move ImageEffects library into a new experimental directory [8eab98f]
- Move Particle2D library into a new experimental directory [31a2afd]
- Replace PolygonBatch with PrimitiveBatch and refactor [288db6c] [f4238ed]
- Fix inconsistent naming in Log class [ffef0d9]
- Add 'set' and 'get' prefixes to LogChannel [d8ed47f]
- Check if compiling metal shader offline [126d7bd] [06b9f11]
- Rewrite dev tools from Python to Golang [8e531a8] [5d6c7ae] [7704140]
- Remove GYP configuration and scripts [b7e24ac]
- Remove
Timer::GetFrameDuration()
in favour ofGameClock::GetFrameDuration()
[640bd76] - Remove Noncopyable class [8449332]
- Use
std::optional
instead ofOptional
[05af1ea] [08ccc89] [64e6244] [620ebc8] - Set Mac OS X deployment target to 10.12 [6a2dfd9]
- Update minimum required MSVC version to 2019 [9fe24f3]
- Add missing declarations for
IsConnected()
[7f7d86e]
Fixes:
- Use SetWindowLongPtr instead for both 32-bit and 64-bit version of Windows [a5c510d]
- Don't use ASMINF and ASMV because zlib's assembler code may have bugs [150e2a2] [a5f317f]
- Fix Metal assertion when the graphics device is lost [352c038]
- Fix asm declaration when compiling on FreeBSD [5254878]
- Fix scaling frame duration twice in Timer [01790cd]
- Fix several warnings on MSVC [c434f4f] [23cf0f1] [4b31179] [68813a7] [78e76c4] [3609568]
- Fix several warnings on Clang [40813da] [55cf33e] [904b5ed]
- Prevent warning C4702 when enabling optimization in release mode [bf57277]
- Enable more warnings on Clang and GCC [9c2318a]
- Enable compile options when generating Xcode project [856ff3b]
- ... and minor fixes
Pomdog v0.1.4
Changelog
New features:
- Add Gamepad support for Windows, Mac and Linux (#16, #17)
- Fully support Metal API
- Add Metal shader language support [d2e2430] [bd40ba0]
- Use reserved vertex slots inside Metal for platform-independent graphics API [f63ba4b]
- Add some shaders for Metal [4ec4c9f] [39e37a4] [a45ac50] [7098276] [4e5c5c3]
- Add support for MTKView and Metal APIs [af5de17]
- Add RenderTarget support for Metal [56e79e3]
- Use graphics command list directly instead [44488a9] [80f569f]
- Add CMake build support (#6)
- Add GCC 8 support [7b1b964]
- Add ArchLinux support [1bbc744]
- Move docs from wiki to the repository [6347915]
- Add utility functions for string processing [161310a]
- Emulate
glDrawArraysInstancedBaseInstance
andglDrawElementsInstancedBaseInstance
on OpenGL <= 4.1 for Mac [57a1c94] - Emulate DXGI_FORMAT_A8_UNORM or MTLPixelFormatA8UNorm on OpenGL [9c764a6]
API changes:
- Pomdog requires C++17 and later [9c60d79] [12cee02] [49938e4] [39789fb] [6099928]
- Integrate experimental graphics features into include/Pomdog/Experimental directory [5c4fbd3]
- Add utility function instead of SetRenderTargetViewFormats [7a4cb1c]
- Add GetPresentationParameters() to get back buffer format [e1f5fbf]
- Remove offset from constant buffer index for Metal [3c4f69f]
- Use variable template for math constants (requires C++14 and later) [abd3ab1] [0ef5504]
- Replace std::array with raw arrays in matrices [d2a55a1]
- Remove POMDOG_CONSTEXPR_ASSERT macro [a6e898c]
Fixes:
- Fix many Metal graphics bugs
- Fix graphics command bug with odd-even sort [0955f67]
- Fix a bug about switch-case fall-through [f84a154]
- Use near and far distances instead of MinDepth/MaxDepth of a viewport [57d6724]
- Fix -Winstantiation-after-specialization on Apple LLVM 9.0 [0c2f2d5]
- Enable more compiler warnings and fixes them.
- ... and minor fixes
Pomdog v0.1.3
Changelog
New features:
- Add RSV and DSV formats to
PipelineStateDescription
[8690aa3] - Add experimental Metal implementation [d5f2834] [f95f7fe]
- Add Vulkan implementation as an experimental feature [5180fac]
- Add
Depth32_Float_Stencil8_Uint
to DepthFormat [0d447d5] - Add RenderPass class [4358936]
- Add a experimental FRP library for gamedev [2d0e45f]
- Enable Async module support [33e90d2]
- Add
Split()
functions intoStringHelper
[76af5ad] - Add
#include
directive support in glsl [cc6a1f8] - Add animated GIF support by using GIFLIB [aef6d7a]
- Add runtime texture packing support [238f2b7]
- Add helper class that uses aligned allocation [0d7a131]
- Add math helper functions [014f586]
- Add signals for mouse events [6f12cdb] [6c650d3] [293450a] [717994c] [78a1919]
- Add alpha-to-coverage support with OpenGL 4 [f96be39]
- Add
Vector4::Transform()
function [2a74dfd] - Add
PlaneIntersectionType
enum class [145ba22] - Add
Plane
andBoundingFrustum
[84e488b]
API changes:
- Upgrade the minimum supported OS X version to 10.11 [438e234] [a499388]
- Add
Multiply()
function instead ofConcatenate()
function [a29d1b3] - Remove
ClearOptions
class [01b66c8] - Change graphics command APIs to use
RenderPass
instead [7d374fb] [530ea7a] - Replace
GraphicsContext
withNativeGraphicsContext
[7fa4976] [a5e8058] - Replace
std::uint32_t
withchar32_t
for UTF-32 character [a8bab20] - Fix
SpriteFont
bug [e4beb35] - Use explicit template instantiations whenever possible [62ce9b8]
- Change API of entity component system [3286e86]
- Use const member function whenever possible [9765cad]
- Change blend state:
NonPremultiplied
->Opaque
[bdd791b] - Change clear color to array of float (
Vector4
) from array of uint8_t (Color
) [d9a6a8e] - Change low-level draw command APIs to use start location of buffer [67528a9]
- Big refactor experimental UI system [55b7166] [e2cdc01] [1724886] [e7b2247] [5f898d1]
Fixes:
- Fix compile error when using GCC with -std=c++14 [caced71]
- Optimize
CreatePerspectiveFieldOfView
functions [1425151] - Minor coding style revisions [2013daf - 3cd4f5e]
- Remove all 80-chars line separators [a2cea02]
- Fix -Wpessimizing-move warnings (please see: section 12.8.31 of N3690) [33bcbc4]
- Remove default argument to avoid a Visual C++ Compiler Bug C1001 caused by 'msc1.cpp', line 1433 [28326a5]
- Fix Ray/BoundingBox intersection distance [86d66a5]
- Correct
SpriteFont::MeasureString()
[fef5df9] - Fix
MiddleButton
bug for cocoa [a6a7c38] - Use
MAP_WRITE_DISCARD
when mapping dynamic constant buffer [9085f7a] - ... and minor fixes
Pomdog v0.1.2
Changelog
New features:
- Use git submodules for dependencies
- Use Xcode project instead of gyp [05e7d92]
- Add Normalize() and Relative() to PathHelper class [91a1fb7]
- Add GetCurrentDirectory() function [71d00da]
- Add ToEulerAngles() function in Vector3 [d93e6c8]
- Add ToDegrees() and ToRadians() overloads [d8c5e0b]
- Add Wercker CI support [667983e]
- Add unit test for experimental [0a0fa1e]
API changes:
- Add 'get' prefixes to accessor functions
- Refactor shader builders [b63d477]
- Add noexcept keyword to math functions [48b4e60]
- Add noexcept keywords to vector math classes [1ba5c18]
- Add 'final' keyword to graphics classes [aa5510e]
- Move FileSystem.hpp and PathHelper.hpp to Utility directory [97d6c0b]
- Rename functions: CreateLerp() => Lerp() [e0f19a4]
- Rename BlendFunction enum class to BlendOperation [7bba196]
- Remove unused LogStream class [6c73c48]
Fixes:
- Replace 'pragma mark' with 'MARK:' comment [a0c869d]
- Replace header include guards with '#pragma once' [f5682b8]
- Fix compiler warnings in MSVC 2015 [952c489]
- Refactor assert [9f4eebf]
- Minor refactor in experimental [2850af8]
- Update experimental graphics module [e225f16]
- Update experimental GUI classes [2fb55f3]
- Fix bug in Quaternion::CreateFromYawPitchRoll() [aead7dd]
- Fix a bug in PerspectiveFieldOfView() function and refactor [6e1b35f]
- ... and minor fixes
Pomdog v0.1.1
Changelog:
- Add X11 window system
- Add Linux support (Not fully implemented and tested yet)
- Add Ray class in Math
- Add FileSystem class in Utility
- Add UserPreferences class in experimental
- Add concurrency classes
- Refactor GameClock class
- Minor refactor some classes
- Remove unused Lua engine from dependencies